Wie zu erstellen "Nicht Aktivieren" form, in Firemonkey

In XCode durch das hinzufügen der folgenden Methoden, um Ihre NSView subclass kann verhindern, dass das Fenster immer aktiv sein, wenn Sie auf ihn klicken:

- (BOOL)shouldDelayWindowOrderingForEvent:(NSEvent )theEvent {
    return YES;
}
- (BOOL)acceptsFirstMouse:(NSEvent )theEvent {
    return YES; 
}
- (void)mouseDown:(NSEvent )theEvent {
    [[[NSApp]] preventWindowOrdering]; 
}

In der Windows-Plattform, Es ist getan, indem Sie diesem einfachen code:

HWND hWnd = FindWindowW((String("FM") + fmxForm->ClassName()).c_str(), 
    fmxForm->Caption.c_str());

SetWindowLong(hWnd, GWL_EXSTYLE,
    GetWindowLong(hWnd, GWL_EXSTYLE) | WS_EX_NOACTIVATE);

Wie kann ich NSView subclass um zu verhindern, dass meine FMX TForm immer aktiv, wenn Sie auf ihn klicken?

Wie kann ich schaffen "Nicht Aktivieren" form, in firemonkey?

  • Nicht sicher, ob es gilt für Firemonkey, wie gut, oder wenn Sie die Antwort auf Ihre Frage richtig, aber möchten Sie vielleicht einen Blick auf dieses Beispiel: delphi.about.com/od/delphitips2008/qt/ex_noactivate.htm
  • Danke, aber es ist nur für Windows und die einfachere Möglichkeit ist meine oben beschriebene Lösung von "SetWindowLong", Die Frage ist, über MacOS.
  • Link: stackoverflow.com/questions/9048346/...
  • Devon: Wie dieser link könnte mir helfen?
  • Dank der WBAR, es ist die zweite bounty!
  • Kein problem, aber immer noch können Sie nicht eine Antwort bekommen :/
  • Fügen Sie Ihren code in einen timer - so bleibt das Fenster immer deaktiviert - hoffe das ist für firemonkey!
  • Ich verlangte ein neues feature auf QualityCentral, bitte bewerten Sie es:qc.embarcadero.com/wc/qcmain.aspx?d=116611

InformationsquelleAutor mh taqia | 2012-10-07
Schreibe einen Kommentar