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.
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register LoginAdvertisement