It is currently Wed Nov 20, 2019 6:10 am

All times are UTC + 1 hour




Post new topic Reply to topic  [ 8 posts ] 
Author Message
 Post subject:
PostPosted: Thu Feb 28, 2002 1:37 am 
Offline
PureBasic Guru
PureBasic Guru

Joined: Tue Apr 22, 2003 7:42 pm
Posts: 16777133
Restored from previous forum. Originally posted by PB.

I got this tip from Microsoft's Knowledge Base and converted it to PureBasic;
not entirely (eg. fonts), but most of it. Hope it's of use to you! Written
for Windows, but might work with Amiga/Linux.

The original Microsoft tip was here:
http://support.microsoft.com/default.aspx?scid=kb;en-us;Q182070

And here's my version, which, incidentally, will be incorporated into vis2pure's
next release for auto-resizing forms.

Example snipped: See new version below which now supports PanetGadgets.

PB - Registered PureBasic Coder

Edited by - PB on 28 February 2002 19:12:40


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Thu Feb 28, 2002 2:00 am 
Offline
PureBasic Guru
PureBasic Guru

Joined: Tue Apr 22, 2003 7:42 pm
Posts: 16777133
Restored from previous forum. Originally posted by MrVainSCL.

Hi Paul
Nice example... Surely vers usefull for some appz coders and esp. for newbies who want to code a boopsi gui :wink: Stay cool... bye

PIII450, 256MB Ram, 6GB HD, RivaTNT, DirectX8.1, SB AWE64, Win98SE + Updates...

greetz
MrVainSCL! aka Thorsten


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Thu Feb 28, 2002 2:19 pm 
Offline
PureBasic Guru
PureBasic Guru

Joined: Tue Apr 22, 2003 7:42 pm
Posts: 16777133
Restored from previous forum. Originally posted by tranquil.

Hi Paul.

Nice to see someone else who tries a resizeable GUI. MrVain and I tried to.
But there is still a little but very nasty bug in PB since Version 2.50.

Create a Pannelgadget and place some Gadgets in it and try to resize it bigger.
You will see that all Gadgets that will be placed or drawn over the actual original size dont be updated/ drawn again.

Still waiting for a fixed Version from Fred, but till yet, no response. :(

Mike

Tranquilizer/ Secretly!
Registred PureBasic User


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Thu Feb 28, 2002 4:13 pm 
Offline
PureBasic Guru
PureBasic Guru

Joined: Tue Apr 22, 2003 7:42 pm
Posts: 16777133
Restored from previous forum. Originally posted by Franco.

Thanks PB for the nice example.



Have a nice day...
Franco

Sometimes you have to go a lonely way to accomplish genius things.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Thu Feb 28, 2002 4:50 pm 
Offline
PureBasic Guru
PureBasic Guru

Joined: Tue Apr 22, 2003 7:42 pm
Posts: 16777133
Restored from previous forum. Originally posted by fred.

Quote:
Still waiting for a fixed Version from Fred, but till yet, no response. :(


Fixing this bug is really hard, as PanelGadget are a nice trick to ease the whole thing (try to code it in C to see what I mean). But I will look at it.

Fred - AlphaSND


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Thu Feb 28, 2002 6:52 pm 
Offline
PureBasic Guru
PureBasic Guru

Joined: Tue Apr 22, 2003 7:42 pm
Posts: 16777133
Restored from previous forum. Originally posted by PB.

Here's an updated version of my code, which works with v4.10 Beta 3.
Run it, then click and drag the lower-right corner, and move it around.

Code:
Form1_W=312 ; Form's client width.
Form1_H=213 ; Form's client height.

Global Form1_hWnd,Form1_OrigW,Form1_OrigH

#Form1_Flags=#PB_Window_MaximizeGadget|#PB_Window_MinimizeGadget|#PB_Window_SizeGadget|#PB_Window_SystemMenu
Form1_hWnd=OpenWindow(0,200,200,Form1_W,Form1_H,"Form1",#Form1_Flags)
If Form1_hWnd=0 Or CreateGadgetList(Form1_hWnd)=0 : End : EndIf
SmartWindowRefresh(0,#True)

Form1_OrigW=WindowWidth(0)  ; Original non-client width.
Form1_OrigH=WindowHeight(0) ; Original non-client height.

#Form1_Command1=1 : Form1_Command1_hWnd=ButtonGadget(#Form1_Command1,8,8,81,33,"Command1")
#Form1_Command2=2 : Form1_Command2_hWnd=ButtonGadget(#Form1_Command2,224,8,81,33,"Command2")
#Form1_Command3=3 : Form1_Command3_hWnd=ButtonGadget(#Form1_Command3,120,88,81,33,"Command3")
#Form1_Command4=4 : Form1_Command4_hWnd=ButtonGadget(#Form1_Command4,8,176,81,33,"Command4")
#Form1_Command5=5 : Form1_Command5_hWnd=ButtonGadget(#Form1_Command5,224,176,81,33,"Command5")

Procedure MyWindowCallback(WindowID, Message, wParam, lParam)
  Result=#PB_ProcessPureBasicEvents
  Select Message
    Case #WM_SIZE ; Form's size has changed.
      Form1_RatioW.f=WindowWidth(0)/Form1_OrigW ; Get horizontal difference.
      Form1_RatioH.f=WindowHeight(0)/Form1_OrigH ; Get vertical difference.
      ResizeGadget(#Form1_Command1,8*Form1_RatioW,8*Form1_RatioH,81*Form1_RatioW,33*Form1_RatioH)
      ResizeGadget(#Form1_Command2,224*Form1_RatioW,8*Form1_RatioH,81*Form1_RatioW,33*Form1_RatioH)
      ResizeGadget(#Form1_Command3,120*Form1_RatioW,88*Form1_RatioH,81*Form1_RatioW,33*Form1_RatioH)
      ResizeGadget(#Form1_Command4,8*Form1_RatioW,176*Form1_RatioH,81*Form1_RatioW,33*Form1_RatioH)
      ResizeGadget(#Form1_Command5,224*Form1_RatioW,176*Form1_RatioH,81*Form1_RatioW,33*Form1_RatioH)
  EndSelect
  ProcedureReturn Result
EndProcedure

SetWindowCallback(@MyWindowCallback())
Repeat : Until WaitWindowEvent()=#PB_Event_CloseWindow

.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Thu Feb 28, 2002 7:54 pm 
Offline
PureBasic Guru
PureBasic Guru

Joined: Tue Apr 22, 2003 7:42 pm
Posts: 16777133
Restored from previous forum. Originally posted by MrVainSCL.

Hi PB
Nice example... but as i remember correct on tranquil´s and my project, the PB bug was, when úsing a PanelGadget and to use inside this another PanelGadget too!? Mhhh.. We will see, what tranquil say to this :wink:


PIII450, 256MB Ram, 6GB HD, RivaTNT, DirectX8.1, SB AWE64, Win98SE + Updates...

greetz
MrVainSCL! aka Thorsten


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Thu Feb 28, 2002 8:10 pm 
Offline
PureBasic Guru
PureBasic Guru

Joined: Tue Apr 22, 2003 7:42 pm
Posts: 16777133
Restored from previous forum. Originally posted by tranquil.

Hi PB.

Your example works fine and the bug did not pop up. I think its couse that I use the ResizeGadget command, and this definitly do not do his work fine in my source.

For now, I will use your methode. Thanks a lot for this tip!!

Mike

Tranquilizer/ Secretly!
Registred PureBasic User


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 8 posts ] 

All times are UTC + 1 hour


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
Jump to:  

 


Powered by phpBB © 2008 phpBB Group
subSilver+ theme by Canver Software, sponsor Sanal Modifiye