Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Does any body knows how can a make a custom shape button
Message
General information
Forum:
Visual FoxPro
Category:
Windows API functions
Miscellaneous
Thread ID:
00453018
Message ID:
00454764
Views:
28
>>>Hi!
>>>
>>>At DEVCON 11 I have seen a sample for new VFP 7 thins. In the sample demonstrated new property of controls - hWND. The sample made a command button elliptic using 2 API functions - CreateEllipticRgn and SetWindowRgn. Handle for SetWindowRgn used from Hwnd property of command button. Whan sample run at VFP 7 - button is really elliptic.
>>>
>>>How you can comment that? MS removed this feature in the next releases of VFP7? If yes, I'm quite wondered than...
>>
>>Not having seen the demonstration, it's difficult to comment. However, native controls, including the command button are not windows and therefore do not have a window handle. So there are two possible conclusions that can be drawn: Either the window handle was that of the form or the command button was something like the MS Forms 2.0 command button or other ActiveX control (which is a window and therefore has its own hWnd).
>
>I would tend to go with your second hypothesis. This would definitely be the easiest to implement.
>
>As for the first, honestly, I don't see how it could be done unless you totally took out the form (< SHAMELESS PLUG >which my FormTransformer does, BTW < /SHAMELESS PLUG >). If you created a region using the button for your dimensions, you still have the form in the background being displayed. This will throw off your shape.

Just a follow up here. I've used an MS Forms 2.0 command button, gotten its window handle, used CreateEllipticRgn() and then SetWindowRgn() to create an elliptical button. Doesn't look much like a command button. In fact, in order to make the thing visible, I had to change the back color. Just looks like an ellipse on the form.
George

Ubi caritas et amor, deus ibi est
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform