Tabber - Feld Ausrichtung ändern
Übersicht

danielosBetreff: Tabber - Feld Ausrichtung ändern |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo!
Also ich hab mal wieder eine Frage: Geht es irgendwie, die Ausrichtung eines Tabberfeldes zu ändern: Diese Skizze verdeutlicht das Problem ![]() Normaler Tabber: ------------------------|Tabbername|_________ -------------- ------------------------|.......................................|-------------- ------------------------|.......................................|-------------- ------------------------|___________________ |-------------- ----------------------------------------------------------------------- Erwünschter Tabber: - ______________|Tabbername|_________________ |-- -|.....................................................................................|- -|.....................................................................................|- -|__________________________________________ |- ----------------------------------------------------------------------- MfG Danielos |
||
![]() |
d-bug |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn du den Tabber mittig haben willst, bleibt dir nur übrig auf OSX umzusteigen. ![]() Nee, mal im ernst, es ist bei Windows nicht möglich die Ausrichtung der Reiter zu ändern. Da müsstest du dem Benutzer schon WindowBlinds aufzwingen oder so. Mit MaxGUI Bordmitteln ist es jedenfalls, meines Wissens, nicht möglich! |
||
- Zuletzt bearbeitet von d-bug am Mi, Okt 08, 2008 12:21, insgesamt 2-mal bearbeitet
danielos |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
danke für die antwort...
schade, sähe einfach besser aus ![]() |
||
![]() |
Geeecko |
![]() Antworten mit Zitat ![]() |
---|---|---|
Huhu!
Die Tab-Items richten sich nun über den ganzen Tabber aus, die Beschriftung ist aber leider links. Code: [AUSKLAPPEN] '-----Datei: Tabber.c----- #include "windows.h" int SetMinSize(int gadget, int w){ SendMessage( (HWND)gadget, 4913, 0, w); } '-----Datei: TabberTest.bmx----- SuperStrict Import maxgui.drivers Import "Tabber.c" Extern Function SetMinSize:Int(gadget:Int,w:Int) End Extern Global Window:TGadget = CreateWindow("Test",0,0,500,500) Global Tabber:TGadget = CreateTabber(100,100,300,300,Window) AddGadgetItem(Tabber,"!hi") AddGadgetItem(Tabber,"!hi") UpdateTabber(Tabber) Repeat ; WaitEvent() ;Forever Function UpdateTabber(Tabber:TGadget) SetMinSize(QueryGadget(Tabber,QUERY_HWND),ClientWidth(Tabber)/CountGadgetItems(Tabber)) End Function Hoffe du kannst damit was anfangen.... lg MD Edit: Man kann es auch ohne Import machen..... hatte nur vergessen es rauszunehmen, weil ich davor schon was andere probiert hatte. Edit²: Neuer Code ohne weitere Date: Code: [AUSKLAPPEN] SuperStrict
Import maxgui.drivers Extern "win32" Function SendMessage(gadget:Int,id:Int,wparam:Int,lparam:Int) = "SendMessageA@16" End Extern Global Window:TGadget = CreateWindow("Test",0,0,500,500) Global Tabber:TGadget = CreateTabber(100,100,300,300,Window) AddGadgetItem(Tabber,"!hi") AddGadgetItem(Tabber,"!hi") UpdateTabber(Tabber) Repeat ; WaitEvent() ;Forever Function UpdateTabber(Tabber:TGadget) SendMessage(QueryGadget(Tabber,QUERY_HWND),TCM_SETMINTABWIDTH,0,ClientWidth(Tabber)/CountGadgetItems(Tabber)) End Function |
||
danielos |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
danke Meister_Dieb! ![]() kann man es auch hinkriegen, dass nur ein einziges gadgetitem erstellt wird, und das sich dann nicht nur nach rechts, sondern auch nach links ausbreitet (ich hoffe man versteht was ich meine ^^ ) |
||
![]() |
Geeecko |
![]() Antworten mit Zitat ![]() |
---|---|---|
Meinst du, das der Text in der Mitte ist?
Werde ich mal schauen, ob ich das hinbekomme^^ Aber wenn du nur ein Item haben willst, machst du die anderen weg. Also so: Code: [AUSKLAPPEN] AddGadgetItem(Tabber,"!hi") AddGadgetItem(Tabber,"!hi") nach: Code: [AUSKLAPPEN] AddGadgetItem(Tabber,"Ich bin ein Item") lg MD |
||
![]() |
BtbN |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du solltest vielleicht erwähnen, dass dieser Code nur auf Windows funktioniert und auf allen andern Systemen zu fehlern führt. | ||
danielos |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
@Meister_Dieb
ich meine es so, wie meine (eindrucksvolle ![]() @BtbN Danke für den Hinweis! |
||
![]() |
Geeecko |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] SuperStrict Import maxgui.drivers ?win32 Extern "win32" Function SendMessage(gadget:Int,id:Int,wparam:Int,lparam:Int) = "SendMessageA@16" End Extern Function UpdateTabber(Tabber:TGadget) SendMessage(QueryGadget(Tabber,QUERY_HWND),TCM_SETMINTABWIDTH,0,ClientWidth(Tabber)/CountGadgetItems(Tabber)) End Function ? Global Window:TGadget = CreateWindow("Test",0,0,500,500) Global Tabber:TGadget = CreateTabber(100,100,300,300,Window) AddGadgetItem(Tabber,"!hi") AddGadgetItem(Tabber,"!hi") UpdateTabber(Tabber) Repeat ; WaitEvent() ;Forever Unter MacOS ist es glaub ich standard, und für die anderes OS kenn ichs nicht ![]() Fals es wer weiß, kann er es ja hinzufügen. lg MD Edit: Auch bei nur einem Item nimmt es den ganzen Tabber ein. Der Text ist nur noch nicht in der Mitte. Ich werde heute Abend einmal schauen, ob ich den Text in die Mitte bekomme. |
||
![]() |
BtbN |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du solltest vllt. noch eine leere funktion für andere OS hinzufügen, sonst funktioniert er immernoch nur auf Windows. | ||
danielos |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Also, ich hab hier jetzt mal ein Bild, an dem ich das gewünschte deutlich machen kann:
![]() So soll der Tab 1 aussehen, nur dass es den Tab 0 NICHT geben soll... Danke für alle Antworten ![]() MfG Daniel |
||
![]() |
d-bug |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also noch mal langsam, zum mitdenken! Du willst die Reiter auf dem Panel zentrieren, richtig? Das geht von Haus aus NUR auf OS-X! Aber ich kann mich gerne noch zehn mal wiederholen. ![]() |
||
danielos |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Okay Okay ![]() wollte nur, dass eindeutig klarheit herrscht, was ich eig. meine ![]() |
||
![]() |
Geeecko |
![]() Antworten mit Zitat ![]() |
---|---|---|
*MitDBugkämpf* ![]() ![]() Ich denke es geht auch mit ein paar WinAPI aufrufen. Aber manche wollten bei mir nicht funktioniren. Aber ich denke es geht. http://msdn.microsoft.com/en-u...S.85).aspx schau dir das einfach mal an. lg MD |
||
jsp |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Beim Tabber in die Mitte ruecken kann ich leider auch nicht helfen, aber fuer den Text kann man das Padding benutzen. Vielleicht hilft es ja weiter...
Code: [AUSKLAPPEN] SuperStrict
Import maxgui.drivers ?win32 Extern "win32" Function SendMessage(gadget:Int,id:Int,wparam:Int,lparam:Int) = "SendMessageA@16" End Extern Function UpdateTabber(Tabber:TGadget) SendMessage(QueryGadget(Tabber,QUERY_HWND),TCM_SETMINTABWIDTH,0,ClientWidth(Tabber)/CountGadgetItems(Tabber)) SendMessage(QueryGadget(Tabber,QUERY_HWND),TCM_SETPADDING,0,65 ) End Function ? Global Window:TGadget = CreateWindow("Test",0,0,500,500) Global Tabber:TGadget = CreateTabber(100,100,300,300,Window) AddGadgetItem(Tabber,"!hi") AddGadgetItem(Tabber,"!hi") UpdateTabber(Tabber) Repeat ; WaitEvent() ;Forever -jsp- |
||
Logic Gui Professional a Gui Designer for MaxGui |
danielos |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
danke jsp!
kann man das icon auch in die mitte versetzten ? |
||
![]() |
Geeecko |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das Icon sollte eigentlich mit in die Mitte gesetzt werden. TCM_SETPADDING setzt Text und Icon in die mitte, laut MSDN. | ||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group