Thanks again Semen. The problem with the extra zero in the
CONTROL ADD line would have taken me a lot of time to find!
Didn't realize I was using EX_ styles.
%BS_FLAT is 0x8000. I was unable to find any %WS_EX_xxxx
definition with the same value. So I don't know what it was
doing, but it acted as if it meant "don't display anything".
The OWNERDRAW code was intended, but I didn't include the CB
code.
Thanks for your EX clue. I got it the code working.
------------------
Announcement
Collapse
No announcement yet.
Flat Buttons
Collapse
X
-
Originally posted by Joe Speroni:
I tried to make the CONTROL button's appear flat (w/o
raised 3-D look). But the button disapears. Does anyone
see what I'm doing wrong?
Many.
1) %BS_OWNERDRAW means that you draw by yourself.
2) You set exstyle instead of style
Sample of "flat":
Code:#Compile Exe #Register None #Dim All #Include "WIN32API.INC" Function PbMain() As Long Dim hDlg As Long Dialog New 0,"Academy", , , 100, 70, %WS_SYSMENU To hDlg Control Add Button,hDlg, 101,"3D", 10, 5, 75, 15 Control Add Button,hDlg, 102,"Flat", 10, 25, 75, 15, %BS_FLAT Dialog Show Modal hDlg End Function
Leave a comment:
-
Flat Buttons
I tried to make the CONTROL button's appear flat (w/o
raised 3-D look). But the button disapears. Does anyone
see what I'm doing wrong?
-----------------------------------------------------------
Code:#COMPILE EXE #REGISTER NONE $INCLUDE "WIN32API.INC" GLOBAL hDlg AS LONG GLOBAL DWidth AS LONG, DHeight AS LONG GLOBAL KWidth AS LONG, KHeight AS LONG CALLBACK FUNCTION CB_KEY() MSGBOX"aaa" END FUNCTION FUNCTION PBMAIN() AS LONG DWidth=600:DHeight=440 KWidth=10:KHeight=100 DIALOG NEW 0,"Academy",,,DWidth,DHeight,%WS_CAPTION OR %WS_SYSMENU,0 TO hDlg IF hDlg=0 THEN EXIT FUNCTION ' Error occurred t&=(DWidth-52*(KWidth+1))/2 FOR i&=0 TO 51 CONTROL ADD BUTTON,hDlg,800+i&,"",t&+(KWidth+1)*i&,260,KWidth,KHeight,0,%BS_OWNERDRAW OR %BS_DEFAULT OR %BS_LEFT CALL OR %BS_FLAT CB_KEY ' The statement below works but causes a 3D raised look ' CONTROL ADD BUTTON,hDlg,800+i&,"",t&+(KWidth+1)*i&,260,KWidth,KHeight,0,%BS_OWNERDRAW OR %BS_DEFAULT OR %BS_LEFT CALL CB_KEY NEXT i& DIALOG SHOW MODAL hDlg END FUNCTION
Tags: None
Leave a comment: