Bordericons disablen

moinsen,

ich hab da mal wieder eine kleine frage:

besteht die möglichkeit, die bordericons zu disablen, also bei bedarf sichtbar aber halt nicht anclickbar machen???

ich habs schon mit hinzufügen/entfernen der einzelnen elemente aus der menge gemacht, aber da gibts immer ein kurzes flackern bzw. ich kann meinen desktop sehen (malt wahrscheinlich das komplette form neu). eine alternativlösung wie man das „flackern“ umgehen kann käme mir auch sehr gelegen

thnx,

burn

Hi,

Wenn du die SystemMenüeinträge ausschaltest, werden die entspr. Bordericons auch funktionslos :o)

Gruss RQ

procedure HideSystemMenuItem( iMenuItem : integer ) ;
var
hwndHandle : THandle ;
hMenuhandle : HMENU ;
begin
hwndHandle := Self.Handle ;
if ( hwndHandle 0 ) then
hMenuhandle := GetSystemMenu( hwndHandle, FALSE ) ;
if ( hMenuhandle 0 ) then
case iMenuItem of
SC_CLOSE : DeleteMenu( hMenuHandle, SC_CLOSE, MF_BYCOMMAND ) ;
SC_SIZE : DeleteMenu( hMenuHandle, SC_SIZE, MF_BYCOMMAND ) ;
SC_MOVE : DeleteMenu( hMenuHandle, SC_MOVE, MF_BYCOMMAND ) ;
SC_MAXIMIZE : DeleteMenu( hMenuHandle, SC_MAXIMIZE, MF_BYCOMMAND ) ;
SC_MINIMIZE : DeleteMenu( hMenuHandle, SC_MINIMIZE, MF_BYCOMMAND ) ;
SC_RESTORE : DeleteMenu( hMenuHandle, SC_RESTORE, MF_BYCOMMAND ) ;
end ;
end;

hi, danke erstmal für die hilfe.

mir gings nur darum, dass ich solange eine bestimmte aktion nicht zuende geführt ist, nicht das program über die menüleiste schließen kann…

thnx,

burn

ziemlich viel arbeit für so ein simples problem…

wie kann ich denn eigentlich meine menuitems jetzt wieder reinkriegen? naja, is ja auch egal, hast evtl. einer ne lösung/workaround zu meinem alternativweg? also eigentlich war ich mit dem glücklicher, kann man nicht irgendwie delphi dazu überreden, nicht extra alles neu zu zeichnen, was wohl letztlich das flackern auslöst?

burn

Hi Burn,

mir gings nur darum, dass ich solange eine bestimmte aktion
nicht zuende geführt ist, nicht das program über die
menüleiste schließen kann…

vielleicht wirst Du damit glücklich: „OnCloseQuery“-Handler erzeugen und „CanClose := FALSE“ reinschreiben?

Gruß
Martin

ahja…dann solltest du mit Martins Vorschlag extrem glücklich werden :o)

man jungs, ich weiß echt nicht, was ich ohne euch machen würde

burn