2009-06-18 6 views
0

Es gibt ein bestimmtes Steuerelement, zu dem ich keine Quelle habe (Steema TTree) Es wird keine Hilfemeldung gesendet, wenn Hilfe über das Formular angefordert wird. (Klicken Sie auf das? in der Nähe des X auf dem Dialog, dann auf den TTree)Wie kann ich feststellen, ob sich ein Formular im Hilfe-Modus befindet?

Ich kann nur Hilfe direkt auf dem Formular aufrufen und meine eigene helpmessage übergeben, aber ich weiß nicht, ob das Formular im Hilfe-Modus ist.

Der Cursor der Form ist genau 0, auch wenn er einen? daneben ... Das finde ich komisch.

Wie auch immer, ich weiß, dass ich mich durch diesen Weg hacke, aber das ist mir egal. Alles, was ich wissen möchte, ist, ob es eine Möglichkeit gibt zu sagen, ob der Benutzer Hilfe anfordert und momentan eine? neben ihrem Cursor

Antwort

0

Torry half

procedure wmNCLButtonDown(var Msg: TWMNCLButtonDown); message WM_NCLBUTTONDOWN; 
procedure wmNCLButtonUp(var Msg: TWMNCLButtonUp); message WM_NCLBUTTONUP; 

ich diese Funktionen overrode eine globale Variable

fHelpMode : Boolean 

auf true gesetzt, wenn

if Msg.HitTest = HTHELP then 
     fHelpMode := true; 

die mich kennen darf, wenn wenn der Benutzer anforderte Hilfe und ich könnte ein Mausereignis auf der TTree überschreiben, um meine Hilfe Pop-up zu tun.

1

Der Cursor der Form ist gerade 0 , wenn es eine hat? daneben ... Das ich finde ungerade.

Das liegt daran, dass Ihre Formen Cursor

Screen.Cursor Versuchen Sie, die die aktive sein sollte.

+0

Prozedur TForm.tmr1Timer (Sender: TObject); beginne OutputDebugString (PAnsiChar (Format ('% d', [ord (Cursor)]))); OutputDebugString (PAnsiChar (Format ('% d', [ord (Bildschirm.Cursor)]))); Ende; Ausgang ist 0 für beide. Auch das? verschwindet, wenn ich es aus dem Dialog ziehe. Obwohl du wahrscheinlich Recht hast, ist der Cursor auf etwas gesetzt? –

Verwandte Themen