CYFROWY BARON • PROGRAMOWANIE • Zobacz wątek - Obsługa zdarzenia PopUp i skok do obsługi zdarzenia Onclick.
Strona 1 z 1

Obsługa zdarzenia PopUp i skok do obsługi zdarzenia Onclick.

Nowy postNapisane: niedziela, 18 grudnia 2011, 15:33
przez euroscan
KOD cpp:     UKRYJ  
void __fastcall TForm1::DG128Click(TObject *Sender)
{
  Clear();
  ::name = "";
  ::name = (reinterpret_cast<TControl *>(Sender))->Name;
}
......
void __fastcall TForm1::btnReadClick(TObject *Sender)
{
    Clear();
    if (!Readfile())
        return;
}
 

- zdarzenie OnClick jest obsługiwane przez btnReadClick.
- zdarzenie Popup tez może być obsługiwane przez Onclick ale obecnie jest obsługiwane przez DG128Click.
- w DG128click podstawiam nazwe wywołanego Popupu (::name) i chciałbm skoczyć w celu dalszej obsługi do btnReadClick.
- coś w rodzaju goto ... ale nie wiem jak to zrobić.
- ważne aby nazwa poprzedniego Sendera była zapisana w zmiennej ::name.

Re: Obsługa zdarzenia PopUp i skok do obsługi zdarzenia Onclick.

Nowy postNapisane: niedziela, 18 grudnia 2011, 16:04
przez Corvis
NIC NIE ROZUMIEM :evil:

Re: Obsługa zdarzenia PopUp i skok do obsługi zdarzenia Onclick.

Nowy postNapisane: niedziela, 18 grudnia 2011, 16:47
przez polymorphism
coś w rodzaju goto

To "coś" to wywołanie funkcji/metody, i jest dość powszechnym zabiegiem w programowaniu :)
KOD cpp:     UKRYJ  
void __fastcall TForm1::DG128Click(TObject *Sender)
{
  Clear();
  ::name = "";
  ::name = (static_cast<TControl*>(Sender))->Name;
 
  btnReadClick(Sender); //<---
}
 

O to chodzi?

Re: Obsługa zdarzenia PopUp i skok do obsługi zdarzenia Onclick.

Nowy postNapisane: niedziela, 18 grudnia 2011, 19:40
przez euroscan
Dokładnie o to chodzi, dzięki.
Jeszcze mnie męczy podświetlanie tekstu w Memo, ale widze że chyba nie ma możliwości aby podświetlić dwa rozłączne obszary, jak podświetlę jeden, to drugi gaśnie.

KOD cpp:     UKRYJ  
void TForm1::SetCursor()
{
    if (m_pos2 == 1 || m_pos2 == 3)
    {
        memo->SelStart = memo->Perform(EM_LINEINDEX, 128, 0); // 256
//        memo->SelLength = 6;
    }
    else
    {
        memo->SelStart = memo->Perform(EM_LINEINDEX, 0, 0);  // 128
//        memo->SelLength = 6;
//        memo->SetFocus();
     }
     memo->Perform(EM_SETSEL, 100, 122); // 82 00 00 81
     memo->SelLength = 22;
     memo->SetFocus();
}


- chciałbym aby można było jednocześnie podświetlic tak jak na tych zrzutach jednocześnie.
--
Obrazek
--
Obrazek
--

Re: Obsługa zdarzenia PopUp i skok do obsługi zdarzenia Onclick.

Nowy postNapisane: niedziela, 18 grudnia 2011, 19:50
przez Cyfrowy Baron
Gaśnie, gdyż to nie jest podświetlanie lecz zaznaczanie tekstu. Przede wszystkim klasa TMemo nie za bardzo się do tego nadaje, gdyż potrafi wyświetlać tylko tekst niesformatowany. Tego typu obiekt jest wykorzystywany np. w systemowym Notatniku. Potrzebujesz bardziej zaawansowanego obiektu jak np. TRichEdit, tutaj jednak bardziej sprawdzi się obiekt TRichView, który potrafi więcej niż WordPad ale mniej niż mniej niż MS Word.

Re: Obsługa zdarzenia PopUp i skok do obsługi zdarzenia Onclick.

Nowy postNapisane: niedziela, 18 grudnia 2011, 19:53
przez polymorphism
Tak nawiasem. euroscan, po co zaczynasz każdą linię myślnikiem?

Re: Obsługa zdarzenia PopUp i skok do obsługi zdarzenia Onclick.

Nowy postNapisane: poniedziałek, 19 grudnia 2011, 22:23
przez euroscan
to mój znak rozpoznawczy ale się poprawię.

Re: Obsługa zdarzenia PopUp i skok do obsługi zdarzenia Onclick.

Nowy postNapisane: wtorek, 20 grudnia 2011, 06:04
przez Cyfrowy Baron
Jako znak rozpoznawczy możesz sobie ustawić własny awatar. Pisz bez tych myślników, gdyż źle się to czyta. Jak widzisz twoje posty zostały zmoderowane.