Sizing SketchUp window
-
How do I adjust the size of a SketchUp window by api, or ruby's built in methods.
-
On Windows you can use the Win32 API to make a SetWindowPos call. No idea of how one can do that on OSX.
(Btw - why do you want to change the size? Normally one would leave this to the user how he/she wants to size it.)
-
It's just an aesthetic consideration for the "Edit Selected Component" application I am currently playing with, and have posted in the "plugins" section.
-
As a user I prefer to be in control over the window size and layout. Beware that changing the SketchUp window's size can cause people's toolbars to shuffle.
So I'd be careful to meddle with this - as user's preferences can be very different from yours. At least an option. -
OK, Good point.
-
For the sake of it - a snippet to resize a window - in this case a Notepad window.
<span class="syntaxdefault"><br />SWP_NOMOVE </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> 0x0002<br />SWP_NOACTIVATE </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> 0x0010<br /><br />FindWindow </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> Win32API</span><span class="syntaxkeyword">.new(</span><span class="syntaxstring">"user32.dll"</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> </span><span class="syntaxstring">"FindWindow"</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> </span><span class="syntaxstring">'PP'</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> </span><span class="syntaxstring">'L'</span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault">SetWindowPos </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> Win32API</span><span class="syntaxkeyword">.new(</span><span class="syntaxstring">"user32.dll"</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> </span><span class="syntaxstring">"SetWindowPos"</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> </span><span class="syntaxstring">'LLIIIII'</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> </span><span class="syntaxstring">'I'</span><span class="syntaxkeyword">)<br /><br /></span><span class="syntaxdefault">def resize_window</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">window_name </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">'Untitled - Notepad'</span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault"> hwnd </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> FindWindow</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">call</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">nil</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> window_name</span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault"> puts </span><span class="syntaxstring">"Handle #{hwnd.inspect}"<br /></span><span class="syntaxdefault"> p SetWindowPos</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">call</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">hwnd</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> 0</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> 0</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> 0</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> 400</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> 300</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> SWP_NOMOVE</span><span class="syntaxkeyword">|</span><span class="syntaxdefault">SWP_NOACTIVATE</span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault">end<br /></span>
(Note: hits is just a quick an dirty snippet that doesn't make any error checks.)
-
Great, Thanks I can experiment.
Advertisement