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 TNA und Icon Position (https://www.delphipraxis.net/108026-tna-und-icon-position.html)

delphinia 6. Feb 2008 15:11


TNA und Icon Position
 
Ich habe nun mit Google und der Suchfunktion hier im Forum nichts gefunden, ausser das ich nun weiss das es mit der MEssage TB_GETBUTTON u tun hat.


meine frage ist nu:
Wie bekomme ich mein Programm Icon in der TNA IMMER auf Platz 0

bitsetter 6. Feb 2008 18:21

Re: TNA und Icon Position
 
Liste der Anhänge anzeigen (Anzahl: 1)
Dazu musst du dir das Handle der Toolbar besorgen und mit
Delphi-Quellcode:
sendmessage(..., TB_MOVEBUTTON, 2, 0);
kannst du zum Beispiel den 3. Button ganz nach vorne holen.
Nun müsste man noch herausfinden, auf welcher Position sich das eigene Programmicon in der TNA befindet.

EDIT: Unter Windows XP habe ich es jetzt soweit hinbekommen, so dass es funktioniert. Das eigene Programmicon in der TNA wird ganz nach vorne geschoben.

delphinia 7. Feb 2008 00:51

Re: TNA und Icon Position
 
also sei nicht bösse aber wenn ich dein QuellCode compeliere und dann auf den Button klicke passiert.... nichts :-(

Aber danke für deine Hilfe. Ich glaube das ich das Prinzip verstanden habe...

bitsetter 7. Feb 2008 08:18

Re: TNA und Icon Position
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von delphinia
Ich habe nun mit Google und der Suchfunktion hier im Forum nichts gefunden, ausser das ich nun weiss das es mit der MEssage TB_GETBUTTON u tun hat.


meine frage ist nu:
Wie bekomme ich mein Programm Icon in der TNA IMMER auf Platz 0

Platz 0 ist bei mir ganz links, wenn ich das Programm starte dann ist es das Icon sowieso links. Es passiert also auch erst etwas wenn sich vor dem Programmicon noch ein anderes befindet.

Was meinst du denn ansonsten mit Platz 0?
Den Code habe ich jetzt so verändert, dass das Icon ganz nach rechts wandert, damit man das Ergebnis gleich sehen kann.

taaktaak 7. Feb 2008 08:30

Re: TNA und Icon Position
 
Moin, Moin,
leider zu spät. Bei mir funktionierte das auch nicht - ist aber auch logisch: Ein neu erstelltes Icon wird immer ganz links placiert, hat also den Index 0. Daher ist die Zeile...
Delphi-Quellcode:
if (loop<>0) and IsWindow(...)
in diesem Beispiel-Context falsch. Damit wird natürlich das Verschieben des NEU erstellten ProgrammIcons verhindert. Aber das ist nur eine Unlogik des Beispielprogramms. Die Frage war ja, wie man ein Icon, das nicht an der ersten Position steht, verschieben kann. Dieses würde durch den vorgestellten Code natürlich funktionieren.

bitsetter 7. Feb 2008 09:28

Re: TNA und Icon Position
 
Zitat:

Zitat von taaktaak
Moin, Moin,
leider zu spät. Bei mir funktionierte das auch nicht - ist aber auch logisch: Ein neu erstelltes Icon wird immer ganz links placiert, hat also den Index 0. Daher ist die Zeile...
Delphi-Quellcode:
if (loop<>0) and IsWindow(...)
in diesem Beispiel-Context falsch. Damit wird natürlich das Verschieben des NEU erstellten ProgrammIcons verhindert. Aber das ist nur eine Unlogik des Beispielprogramms. Die Frage war ja, wie man ein Icon, das nicht an der ersten Position steht, verschieben kann. Dieses würde durch den vorgestellten Code natürlich funktionieren.

:gruebel: So richtig verstehe ich deine Aussage nicht.
Aber das erste Icon brauch man ja nicht verschieben, wenn es sowieso schon ganz vorne steht.
Ich hatte nach dem Programmstart einfach noch ein anderes Programm gestartet das auch ein Icon in der TNA anzeigt, so dass mein Icon an die 2. Stelle gerückt wurde. Dann habe ich auf den Button geklickt und mein Icon war wieder ganz vorne.

taaktaak 7. Feb 2008 10:17

Re: TNA und Icon Position
 
Hallo bitsetter!

Hatte mich auch mit der Aufgabenstellung beschäftigt. Mein Ziel war es, ein Icon von beliebiger Position an eine andere beliebige Position bringen zu können. Mit dem zuerst gezeigten Code konnte man das Icon an Indexposition 0 nicht verschieben.

Jooo, meine Aussage ist ein wenig wirr (war wohl noch zu früh am Morgen) - sorry. Und Dank für deinen Code, habe ich sofort in meine Sammlung aufgenommen!


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:07 Uhr.

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