Solved

Set minimum size of a window

Posted on 1998-05-16
9
245 Views
Last Modified: 2013-12-03
How can I use WinAPI to set a minimize size for a window?
also, can I set a maximum size too?
0
Comment
Question by:leeal
  • 4
  • 4
9 Comments
 
LVL 3

Accepted Solution

by:
tma050898 earned 40 total points
ID: 1402277
You need to handle the WM_GETMINMAXINFO message and fill out the passed structure as to the min and max of your window.

0
 
LVL 1

Author Comment

by:leeal
ID: 1402278
Can you give me more details?
0
 
LVL 3

Expert Comment

by:tma050898
ID: 1402279
Actually, I need more details. What language are you using?
0
 
LVL 1

Author Comment

by:leeal
ID: 1402280
I am using VB5.
0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 
LVL 3

Expert Comment

by:tma050898
ID: 1402281
I was afraid you were going to say that ;)

Ok. I haven't touched VB since 3.0, but believe or not, the only time I've ever used the WM_GETMINMAXINFO msg was from a VB app. When I used VB it did not provide programmers the ability to handle Windows messages. IOW, programmers could only select events from a fixed set of events for each object. Therefore, we used a product from Desaware called Spy Works in order to handle Windows messsages. So the questions are...

1. Does VB5 now allow you to directly handle Windows messages (as opposed to picking from a fixed set of events for an object)?
2. If not, do you have a product like SpyWorks or a similar competitor's product (e.g., Sheridan, MicroHelp, etc.)???

0
 
LVL 1

Author Comment

by:leeal
ID: 1402282
1. ummm, I'm not sure. But there's an "addressof" operator that can return the address of a procedure.
2. no, I don't.
0
 

Expert Comment

by:bbarber
ID: 1402283
Can you process the WM_SIZE message which is passed to any window that receives a command to resize. Then if the size requested is not within your boundries, set it to your min or max value.
0
 
LVL 3

Expert Comment

by:tma050898
ID: 1402284
bbarber,
No. The only way to do this is by handling the WM_GETMINMAXINFO msg.  A struct is passed in this msg that has min max tracking members. Setting these will cause windows to not allow the window to be size beyond the ranges specified by the application.

The problem leeal is having is that vb doesn't allow for the handling of msgs that aren't inherently supported and presented in a static list of events. I've done what he wants to do with SpyWorks because they have a vbx and an ocx that allows vb applications to receive and process windows msgs. However, he doesn't have SpyWorks or any other tool.

leeal,
Sorry about not posting in a couple of days. It took me two days to finally found track down free tool that does what you want. It's called MsgHook and can be downloaded for free at www.download.com 

If this is the way you want to go, download it and play with it. From what I've read it will do what you need. I've never used it, but if you have any problems post a new question and I (or another expert) will help in any way we can.

Tom




0
 
LVL 1

Author Comment

by:leeal
ID: 1402285
Thanks, Tom.
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

This article shows how to make a Windows 7 gadget that accepts files dropped from the Windows Explorer.  It also illustrates how to give your gadget a non-rectangular shape and how to add some nifty visual effects to text displayed in a your gadget.…
For a while now I'v been searching for a circular progress control, much like the one you get when first starting your Silverlight application. I found a couple that were written in WPF and there were a few written in Silverlight, but all appeared o…
This Micro Tutorial hows how you can integrate  Mac OSX to a Windows Active Directory Domain. Apple has made it easy to allow users to bind their macs to a windows domain with relative ease. The following video show how to bind OSX Mavericks to …
This is Part 3 in a 3-part series on Experts Exchange to discuss error handling in VBA code written for Excel. Part 1 of this series discussed basic error handling code using VBA. http://www.experts-exchange.com/videos/1478/Excel-Error-Handlin…

912 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

24 Experts available now in Live!

Get 1:1 Help Now