CYFROWY BARON • PROGRAMOWANIE • Zobacz wątek - TUpdown - Focus - błąd kontrolki ??

TUpdown - Focus - błąd kontrolki ??

dział ogólny

TUpdown - Focus - błąd kontrolki ??

Nowy postprzez Corvis » poniedziałek, 13 sierpnia 2012, 12:36

Witam,

Taka ciekawostka mi wyszła. Mam na formie TUpdDown i jakiś Edit w żaden sposób kontroli nie są ze połączone. Zrobiłem sobie takie zdarzenie:

KOD cpp:     UKRYJ  
void __fastcall TForm1::UpDown1Click(TObject *Sender, TUDBtnType Button)
 {
        ShowMessage("aaa");
        Edit1->SetFocus();
}
No i według kodu po kliknięciu w TUpDown powinien się pokazać komunikat i focus zostać przerzucony na edit. No i tak też się dzieje, ale UpDown cały czas dalej jest zaznaczony i teraz jak kliknę gdziekolwiek w formę to cały czas mi wywala komunikat. Wydaje mi się, że jest to błąd kontroli TUpDown - nie zdejmuje z siebie focusa. Nie działa żadna znana mi metoda:
Kod: Zaznacz cały
DefocusControl()
, robienie TUpDown Enabled = false potem true. No w żaden sposób nie umiem tego obejść.

Spotkał się ktoś z czymś takim kiedyś ??

Pozdrawiam,
"Sukcesy trwają, dopóki ich ktoś nie spieprzy. Porażki są wieczne"

Dr Gregory House
Avatar użytkownika
Corvis
Programista I
Programista I
 
Posty: 880
Dołączył(a): sobota, 26 lipca 2008, 00:31
Podziękował : 80
Otrzymał podziękowań: 30
System operacyjny: WINDOWS 7 64-bity
Kompilator: Praca - C++ Builder XE2 ENTERPRISE - Update 4, Dom - C++ Builder XE4 - Uddate 1
Gadu Gadu: 0
    Windows 7Chrome

Re: TUpdown - Focus - błąd kontrolki ??

Nowy postprzez Mironas » poniedziałek, 13 sierpnia 2012, 13:04

Użyj TTimer-a. Enabled na false, Interval na 1. A potem:
KOD cpp:     UKRYJ  
void __fastcall TForm1::UpDown1Click(TObject *Sender, TUDBtnType Button)
{
  Timer1->Enabled = true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
  Timer1->Enabled = false;
  ShowMessage("aaa");
  Edit1->SetFocus();
}

Za ten post autor Mironas otrzymał podziękowanie od:
Corvis
Avatar użytkownika
Mironas
Programista I
Programista I
 
Posty: 427
Dołączył(a): poniedziałek, 2 stycznia 2012, 19:02
Podziękował : 17
Otrzymał podziękowań: 61
System operacyjny: Windows 10
Kompilator: C++Builder 10.3 Rio
TMS Components Pack
Gadu Gadu: 0
    Windows XPChrome

Re: TUpdown - Focus - błąd kontrolki ??

Nowy postprzez Corvis » poniedziałek, 13 sierpnia 2012, 13:09

Dobre :)

Jednak to jest błąd kontrolek VCL :)
"Sukcesy trwają, dopóki ich ktoś nie spieprzy. Porażki są wieczne"

Dr Gregory House
Avatar użytkownika
Corvis
Programista I
Programista I
 
Posty: 880
Dołączył(a): sobota, 26 lipca 2008, 00:31
Podziękował : 80
Otrzymał podziękowań: 30
System operacyjny: WINDOWS 7 64-bity
Kompilator: Praca - C++ Builder XE2 ENTERPRISE - Update 4, Dom - C++ Builder XE4 - Uddate 1
Gadu Gadu: 0
    Windows 7Chrome

Re: TUpdown - Focus - błąd kontrolki ??

Nowy postprzez Cyfrowy Baron » poniedziałek, 13 sierpnia 2012, 18:03

Umieść ten kod w zdarzeniu OnMOuseUp kontrolki TUpDown, a problem ustąpi.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox


  • Podobne tematy
    Odpowiedzi
    Wyświetlone
    Ostatni post

Powrót do Ogólne problemy z programowaniem

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 4 gości