Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Startmenü-Problem (https://www.delphipraxis.net/8072-startmenue-problem.html)

CoDeR_MaCHiNe 28. Aug 2003 00:53


Startmenü-Problem
 
Ich habe in meinem program einen button mit dem ich das startmenü öffnen
kann, jedoch öffnet sich das menü immer unten links.

Wie kann ich das startmenü an einem x-beliebigen punkt 'aufspringen' lassen ?

Ich habe echt keine idee mehr...

Trouble_Maker 28. Aug 2003 00:57

Re: Startmenü-Problem
 
Hiho ...
meinst du mit Startmenü das Windows Startmenü ?!?
Also das, das du mit der Windows-Taste öffnest ?!?

Wie sollte man das denn an einer anderen Stelle öffnen können ?!?


cu Trouble_Maker

Luckie 28. Aug 2003 00:57

Re: Startmenü-Problem
 
Zitat:

Zitat von CoDeR_MaCHiNe
Wie kann ich das startmenü an einem x-beliebigen punkt 'aufspringen' lassen ?

Bitte was? Na das wird da aufpoppen, wo der Startbutton ist. Und das finde ich ehrlich gesagt auch gut so.

Was soll denn das für einen Sinn machen?

CoDeR_MaCHiNe 28. Aug 2003 00:59

Re: Startmenü-Problem
 
jo des windows startmenü...

und warum nicht ? ich würde es gerne an einer anderen stelle haben...
nur weiß ich nicht mehr weiter...

Luckie 28. Aug 2003 01:04

Re: Startmenü-Problem
 
Du brauchst das Handle von dem Menü, dann kannst du es mit SetWindowPos verschieben.

Trouble_Maker 28. Aug 2003 01:04

Re: Startmenü-Problem
 
hi
muss Luckie mal recht geben! Ist gut so, dass das Menü dort ist, wo es ist.
Was soll es auch bringen, das Menü wo anders öffnen zu können ?!?

Kannsts aber noch an 3 anderen Stellen öffnen, indem du deine Taskleiste verschiebst ;-)

cu Trouble_Maker

CoDeR_MaCHiNe 28. Aug 2003 01:17

Re: Startmenü-Problem
 
Zitat:

Du brauchst das Handle von dem Menü, dann kannst du es mit SetWindowPos verschieben.
wie komme ich an das handle ?

Luckie 28. Aug 2003 01:22

Re: Startmenü-Problem
 
Das Problem hat sich mnir noch nie gestellt, sorry.

CoDeR_MaCHiNe 28. Aug 2003 01:36

Re: Startmenü-Problem
 
ich habe genau zu dem thema nen link gefunden:
http://www.vbwelt.de/vb_welt/tips/sh...er%E4ndern.xml

nur weiß ich nicht wie ich das auf Delphi übertragen kann.
vllt einer von euch ?

Luckie 28. Aug 2003 01:39

Re: Startmenü-Problem
 
Zitat:

Richtig eingesetzt kann man mit diesem Handle jetzt eigentlich alles machen...Man kann den Button verschieben, disablen, verstecken oder schließen..und mehr
Ich dachte es ginge um das Starmenü und nicht um den Startbutton?

CoDeR_MaCHiNe 28. Aug 2003 01:46

Re: Startmenü-Problem
 
ja aber ich habe entdeckt das man wahrscheinlich über den butto gehen muss wenn mann wissen will wo es sich öffnet.
habe gerade etwas interessantes gefunden:
Delphi-Quellcode:
MoveWindow(FindWindowEx(FindWindow('Shell_TrayWnd', nil), 0, 'Button', nil), 300, 0, 80, 22, true);
wenn ich jeze anstatt der 300 bzw. 0 jetzt die koordinaten meines
buttons im fenster nehme müsste es eigentlich gehen. oder ?

Luckie 28. Aug 2003 01:48

Re: Startmenü-Problem
 
Damit schiebst du den Startbutton durch die Gegend. Ich wäre nicht so begeistert, ihn mitten auif dem Desktop wiederzufinden.

CoDeR_MaCHiNe 28. Aug 2003 01:49

Re: Startmenü-Problem
 
das würde ich ja dann wieder zurück schieben, wenn ich rausgfunden habe wie des geht...

Luckie 28. Aug 2003 02:01

Re: Startmenü-Problem
 
Also es ist ja so: Du brauchst das Handle vom Menü, um es verschieben zu können. Aber so lange es das Menü nicht gibt, gibt es auch kein Handle. Das gibt es erst, wenn es aufpoppt und dann ist es zu spät. Desweitern müßtets du ständig kucken, ob jemand auf den Stratbutton geklcikt hat oder die Windows-Taste gedrückt hat. Diese wäre mir für so eien Spielerei zu aufwendig bzw. als Anwender zu Ressourcen fressend. Da mußt du jetzt wohl ohne mich durch.

CoDeR_MaCHiNe 28. Aug 2003 02:05

Re: Startmenü-Problem
 
mh...
ich schlaf ertsmal ne nacht drüber :)
mal gucken wies morgen aussieht.
aber trotzdem danke erstmal.

Luckie 28. Aug 2003 02:25

Re: Startmenü-Problem
 
Ich habe die Befürchtung, wenn du morgen aufwachst wird sich an der Situation nichts geändert haben.

CoDeR_MaCHiNe 28. Aug 2003 10:52

Re: Startmenü-Problem
 
und da hast du leider recht...

ich habe jeze nämlich folgendes problem das
mein start-button nicht mehr aktiviert ist
somit kann ich mein startmenü auch nicht mehr
aufklappen lassen...

Aya 28. Aug 2003 13:22

Re: Startmenü-Problem
 
Hi,

ich hab gestern Nacht mal ne Funktion gebastelt um das Handle vom StartMenü zu ermitteln.. klappt allerdings nur wenn es bereits sichtbar ist. (SetWindowPos klappt wunderbar um das Menü zu verschieben)

Delphi-Quellcode:
function GetStartMenuHandle: HWND;
var
  h: HWND;
  lpClassName: PChar;
begin
  Result:=0;
  GetMem(lpClassName,256);
  h:=GetWindow(GetDesktopWindow,GW_CHILD);
  while h<>0 do begin
    GetClassName(h,lpClassName,256);
    if lpClassName='BaseBar' then begin
      if GetWindowLong(h,GWL_STYLE) = -1774190592 then
        if GetWindowLong(h,GWL_EXSTYLE) = 392 then begin
          Result:=h;
          Exit;
        end;
    end;
    h:=GetWindow(h,GW_HWNDNEXT);
  end;
  FreeMem(lpClassName);
end;
Au'revoir,
Aya~

CoDeR_MaCHiNe 28. Aug 2003 14:14

Re: Startmenü-Problem
 
danke dir erstmal ...

aber ich bekomm das trotzdem irgendwie ned hin.
könnteste mir bitte auch die zeilen zeigen mit dem
setwindowpos ?

Aya 28. Aug 2003 16:29

Re: Startmenü-Problem
 
Hi,

Delphi-Quellcode:
    h:=GetStartMenuHandle;
    SetWindowPos(h,HWND_TOPMOST,Mouse.CursorPos.X,Mouse.CursorPos.Y,0,0,SWP_NOSIZE);
geht natürlich nur wenn das StartMenü sichtbar ist.

Au'revoir,
Aya~

CoDeR_MaCHiNe 28. Aug 2003 17:35

Re: Startmenü-Problem
 
mh tut mir leid so ähnlich habe ich das ja
auch schon gehabt, aber es geht genauso wenig
wie vorhin...

abeer trotzdem vielen dank :)

Aya 28. Aug 2003 17:50

Re: Startmenü-Problem
 
Und was klappt nicht???

CoDeR_MaCHiNe 28. Aug 2003 17:53

Re: Startmenü-Problem
 
das menü wird nicht angezeigt...
weder an dem punkt wo es soll noch da wo es eigentlich war.
also überhaupt nix, obwohl ich die taskbar angezeigt lasse.

Aya 28. Aug 2003 17:55

Re: Startmenü-Problem
 
Ich denke du weißt bereits wie du das Menü anzeigen kannst??!
Du mußt es anzeigen lassen, dann dir das Handle davon holen, und es dann verschieben...

Au'revoir,
Aya~

Aya 28. Aug 2003 18:01

Re: Startmenü-Problem
 
Hi nochmal,

hab das gradmal versucht... es klappt auch das StartMenü mit ShowWindow anzuzeigen... allerdings funktionieren dann die unter Menüs nichmehr...

Au'revoir,
Aya~

CoDeR_MaCHiNe 28. Aug 2003 18:02

Re: Startmenü-Problem
 
schon klar.
theoretisch funktioniert das auch so, hab es ja auch mit nem anderen
programm getestet, da geht es wunderbar...

Nur mit meinem jezigen programm nicht.
btw. mit dem programm wird nen Bild in den hintergrundgeladen
und die taskbar ist auch verschwunden, und wenn ich da
auf nen butto klicke (den ich wahllos positioniert habe)
sollte das gehen(ob taskbar anzeigend oder nicht)

:)


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:30 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz