Determine Dialog Units

Category: Application Features

Date: 02-16-2022

Return to Index


 
'Compilable Example:  (Jose Includes)
#Compiler PBWin 10
#Compile Exe
#Dim All
%Unicode = 1
#Include "Win32API.inc"
 
Enum Equates Singular
   IDC_Button
End Enum
 
Global hDlg As Dword
 
Function PBMain() As Long
   Dialog New Pixels, 0, "PowerBASIC",300,300,200,200, %WS_OverlappedWindow To hDlg
   Control Add Button, hDlg, %IDC_Button,"Push", 50,10,100,20
   Dialog Show Modal hDlg Call DlgProc
End Function
 
CallBack Function DlgProc() As Long
   Select Case Cb.Msg
      Case %WM_Command
         Select Case Cb.Ctl
            Case %IDC_Button
               ? IIf$(WhichDialogUnit(hDlg),"Pixels","Units")
         End Select
   End Select
End Function
 
Function WhichDialogUnit(ByVal hWnd As DwordAs Long
   Local x,y As Long, r As Rect
   Dialog Get Loc hWnd To x,y
   GetWindowRect hWnd, r
   If x = r.nLeft Then Function = 1
End Function
 
'gbs_01195
'Date: 05-11-2013


created by gbSnippets
http://www.garybeene.com/sw/gbsnippets.htm