Gamestudio Links
Zorro Links
Newest Posts
How to Change Multiplier
by vicknick. 06/02/23 03:27
How to buy tomorrow at open?
by vicknick. 06/02/23 03:19
Adding Position to Current Trade
by vicknick. 06/02/23 03:09
Unable to change multiplier of contract
by vicknick. 05/30/23 06:56
Wrong Definition of Sharpe Ratio in Zorro?
by vicknick. 05/29/23 06:32
Backtest strategy on bitcoin/crypto
by JamesHH. 05/26/23 04:36
AUM Magazine
Latest Screens
SHADOW (2014)
DEAD TASTE
Tactics of World War I
Hecknex World
Who's Online Now
3 registered members (vicknick, 7th_zorro, Quad), 990 guests, and 12 spiders.
Key: Admin, Global Mod, Mod
Newest Members
BInnacle, androsa, XquicksnowX, danishinvest, Trail
18942 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Page 3 of 3 1 2 3
Re: button panel mehrmals benutzen [Re: ratz] #417910
02/19/13 13:18
02/19/13 13:18
Joined: Oct 2011
Posts: 1,082
Germany
C
Ch40zzC0d3r Offline
Serious User
Ch40zzC0d3r  Offline
Serious User
C

Joined: Oct 2011
Posts: 1,082
Germany
Hm sieht sehr umständlich aus, da würd ich meine buttons lieber komplett neu coden.
BTW: was haltet ihr davon GWEN gui als plugin zu releasen?
Bin fast fertig mit plugin, screenies kommen später.

Re: button panel mehrmals benutzen [Re: Ch40zzC0d3r] #417912
02/19/13 13:40
02/19/13 13:40
Joined: Oct 2008
Posts: 341
R
ratz Offline OP
Senior Member
ratz  Offline OP
Senior Member
R

Joined: Oct 2008
Posts: 341
nun jetzt kann ich zwar die fenster bewegen und auch alle einzelnd schließen
nur das problem ist das ich die buttons nur über reset(main_pan,SHOW); verschinden lassen kann , und somit auch nur 1mal anzeigen lassen kann,
da die pan_setbutton function an ein Panel gebunden ist

aber ich hab mir folgendes ausgedacht:

die pan_create function:
Code:
pan_create(char* content, var layer)



und die pan_setbutton function:
Code:
pan_setbutton(main_pan,0,0,236,4,hwnd_button_up,hwnd_button_down,hwnd_button_up,NULL,kill_hwnd,NULL,NULL);



zu verschmelzen in meine eigende function:
Code:
draw_button



diese soll den Button frei darstellen können ohne
sich an irgendein panel zu binden -> und zudem
eine layer wert haben

und so sieht die function aus
Code:
function draw_button(char* content, var layer, var num, var type, var x, var y, BMAP* bmapOn, BMAP* bmapOff, BMAP* bmapOver, BMAP* bmapOverOff, void* functionClick, void* functionLeave, void* functionOver);

function test()
{
 draw_button("bmap = hwnd_win_1_rand.bmp; flags = VISIBLE | OVERLAY", 30,0,0,236,4,hwnd_button_up,hwnd_button_down,hwnd_button_up,NULL,kill_hwnd,NULL,NULL);
}



wenn ich aber dann main starte kommt die meldung:
empty function called in test!

Last edited by ratz; 02/19/13 13:46.
Re: button panel mehrmals benutzen [Re: ratz] #417915
02/19/13 14:16
02/19/13 14:16
Joined: Jan 2002
Posts: 4,225
Germany / Essen
Uhrwerk Offline
Expert
Uhrwerk  Offline
Expert

Joined: Jan 2002
Posts: 4,225
Germany / Essen
Weil draw_button nur ein Prototyp ist und keine Implementierung hat?
Originally Posted By: ratz
nur das problem ist das ich die buttons nur über reset(main_pan,SHOW); verschinden lassen kann , und somit auch nur 1mal anzeigen lassen kann
Warum sollte das nur einmal gehen? ich versteh nur Bahnhof. Pro Objekt das Du darstellen willst ein Panel erzeugen. Bei diesem Panel dann jeweils das SHOW flag setzen oder zurücksetzen.


Always learn from history, to be sure you make the same mistakes again...
Re: button panel mehrmals benutzen [Re: Uhrwerk] #417918
02/19/13 15:06
02/19/13 15:06
Joined: Oct 2008
Posts: 341
R
ratz Offline OP
Senior Member
ratz  Offline OP
Senior Member
R

Joined: Oct 2008
Posts: 341
ich hoffe mir kann mal jemand helfen , hier der ganze code

Code:
erledigt



http://www.file-upload.net/download-7230908/GUI.rar.html
[bitte auf den ganz kleinen download button drücken ]

keine angst, wenn mantchmal die fehlermeldung kommt "script crash in kill_hwnd"
das liegt daran , dass [i_1] und so nochnicht wieder resettet sind

Last edited by ratz; 02/19/13 19:24.
Re: button panel mehrmals benutzen [Re: Kartoffel] #417932
02/19/13 18:40
02/19/13 18:40
Joined: Oct 2008
Posts: 341
R
ratz Offline OP
Senior Member
ratz  Offline OP
Senior Member
R

Joined: Oct 2008
Posts: 341
BOA BOA BOA grin

ICH HABS !!!!

Code:
...
var i_1
PANEL* main_pan[5];
...
function move_me()
{
...
  main_pan[i_1].pos_x += mickey.x;  
  main_pan[i_1].pos_y += mickey.y; 
...
}
...
function create_hwnd_but()
{  
 main_pan[i_1] = pan_create("bmap = NULL; pos_x = 100; pos_y = 100; flags = VISIBLE", 40); 
 
 hwnd_but_small[i_2] = pan_setbutton(main_pan[i_1],0,0,236,4,hwnd_button_up,hwnd_button_down,hwnd_button_up,NULL,kill_hwnd,NULL,NULL);
 hwnd_but_small[i_2] = pan_setbutton(main_pan[i_1],0,0,217,4,hwnd_button_up,hwnd_button_down,hwnd_button_up,NULL,move_me,NULL,NULL);
}
...



Jetzt kann ich endlich mehere buttons "createn" werend der Laufzeit und wieder schließen
ein paar bugs sind zwar noch drin , wie z.b. das sich
andere fenster wieder schließen und dannach nicht mehr bewegen lassen aber fürs erste reicht es erstmal laugh

danke an Kartoffel und den anderen die mir soviele tolle tipps gegeben haben

ich hoffe ihr könnt ein paar codeschnipsel gebracuhen
und euch eure eigende gui zusammenschweißen. ^^

Last edited by ratz; 02/19/13 19:18.
Re: button panel mehrmals benutzen [Re: ratz] #417940
02/19/13 19:34
02/19/13 19:34
Joined: Jun 2009
Posts: 2,210
Bavaria, Germany
Kartoffel Offline
Expert
Kartoffel  Offline
Expert

Joined: Jun 2009
Posts: 2,210
Bavaria, Germany
Hey, noch eine kleine Sache von mir:

Zum Bewegen von Panels per Maus kannst du auch panel.event verwenden.
Der Vorteil dabei ist, dass der Pointer auf das Panel mit an die Event-Funktion übergeben wird. (ist übrigens auch bei Buttons so)

Somit musst du in der Funktion nicht mit deinen Arrays arbeiten und ersparst dir evtl. ein wenig Zeit.

hier ein Beispiel:
Code:
void PanelMove(PANEL * panel) // funktion um das panel zu bewegen
{
	// maus - panel offset berechnen
	var mouse_offset_x = panel.pos_x - mouse_pos.x;
	var mouse_offset_y = panel.pos_y - mouse_pos.y;
	
	while(mouse_left) // während die maustaste gehalten wird:
	{
		// panel auf maus-position + offset setzen
		panel.pos_x = mouse_pos.x + mouse_offset_x;
		panel.pos_y = mouse_pos.y + mouse_offset_y;
		
		// die panel-position auf den bildschirm begrenzen
		panel.pos_x = clamp(panel.pos_x, 0, screen_size.x - panel.size_x);
		panel.pos_y = clamp(panel.pos_y, 0, screen_size.y - panel.size_y);
		
		wait(1);
	}
}


// ...und für alle Panels, die man mit der Maus bewegen soll:

panel.event = PanelMove; // (event-funktion ohne klammern oder parameter!)


So können alle Panels, die die Funktion "PanelMove" als Event haben, problemlos bewegt werden ohne die globalen Pointer zu managen wink

Last edited by Kartoffel; 02/26/13 15:35. Reason: code war nicht ganz korrekt

POTATO-MAN saves the day! - Random
Re: button panel mehrmals benutzen [Re: Kartoffel] #417941
02/19/13 19:35
02/19/13 19:35
Joined: Oct 2008
Posts: 341
R
ratz Offline OP
Senior Member
ratz  Offline OP
Senior Member
R

Joined: Oct 2008
Posts: 341
Potato-Man saves the day! grin



Last edited by ratz; 02/19/13 19:38.
Re: button panel mehrmals benutzen [Re: ratz] #417943
02/19/13 19:42
02/19/13 19:42
Joined: Jun 2009
Posts: 2,210
Bavaria, Germany
Kartoffel Offline
Expert
Kartoffel  Offline
Expert

Joined: Jun 2009
Posts: 2,210
Bavaria, Germany
sieht doch schonmal sehr gut aus ;D

Meines ist mittlerweile so weit:

(verwendet hab' ich es hier in eineim kleinen ToDo-List-Programm)

Solltest du noch mehr Fragen haben, kann ich dir gerne helfen.

(wir haben fast gleichzeitig gepostet, hast du meinen post davor gelesen?)

Last edited by Kartoffel; 02/19/13 20:04.

POTATO-MAN saves the day! - Random
Page 3 of 3 1 2 3

Gamestudio download | chip programmers | Zorro platform | shop | Data Protection Policy

oP group Germany GmbH | Birkenstr. 25-27 | 63549 Ronneburg / Germany | info (at) opgroup.de

Powered by UBB.threads™ PHP Forum Software 7.7.1