Announcement

Collapse
No announcement yet.

Resizing dialog

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Borje Hagsten
    replied
    You can use DIALOG SET SIZE for this, like:
    Code:
    '¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
    ' Declares
    '¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
    #COMPILE EXE
    #INCLUDE "WIN32API.INC"
    DECLARE CALLBACK FUNCTION DlgProc() AS LONG
     
    '¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
    ' Create dialog and controls, etc
    '¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
    FUNCTION PBMAIN () AS LONG
      LOCAL hDlg AS LONG
      DIALOG NEW 0, "Resize sample",,, 195, 50, %WS_CAPTION OR %WS_SYSMENU TO hDlg
      CONTROL ADD BUTTON, hDlg, 10, "&Increase hight",  4,  4, 60, 14
      CONTROL ADD BUTTON, hDlg, 11, "&Reset size",     64,  4, 60, 14
      CONTROL ADD BUTTON, hDlg, 12, "E&xit",          130,  4, 60, 14
      DIALOG SHOW MODAL hDlg CALL DlgProc
    END FUNCTION
     
    '¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
    ' Main callback
    '¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
    CALLBACK FUNCTION DlgProc() AS LONG
      IF CBMSG = %WM_INITDIALOG THEN
         STATIC W AS LONG, H AS LONG
         DIALOG GET SIZE CBHNDL TO W, H       'get and store original size
     
      ELSEIF CBMSG = %WM_COMMAND THEN
         IF CBCTL = 10 THEN
            DIALOG SET SIZE CBHNDL, W, H + 50 'original size + 50
         ELSEIF CBCTL = 11 THEN
            DIALOG SET SIZE CBHNDL, W, H      'original size
         ELSEIF CBCTL = 12 THEN
           DIALOG END CBHNDL
         END IF
      END IF
    END FUNCTION

    ------------------

    Leave a comment:


  • Scott Turchin
    replied
    This piece resizes the status bar, use a control send w/WM_SIZE and the appropriate size and you can do it...
    This window I am using is NOT a DDT, therefore I just used the sendmessage..
    Code:
        Case %WM_SIZE
            Local Xsize           As Long
            Local Ysize           As Long
            GetClientRect g_hWndMain, WndRect
            Xsize = WndRect.nRight - WndRect.nLeft
            Ysize = WndRect.nBottom - WndRect.nTop
            If IsWindowVisible(g_hStatus) Then
                SendMessage g_hStatus, %WM_SIZE, wParam, lParam
                ShowWindow g_hStatus, %SW_NORMAL
                If IsWindowVisible(g_hListView) Then SetWindowPos g_hListView, 0, 0, 0, XSize, YSize-20, %SWP_NOMOVE Or %SWP_NOZORDER Or %SWP_DRAWFRAME
            Else
                If IsWindowVisible(g_hListView) Then SetWindowPos g_hListView, 0, 0, 0, XSize, YSize, %SWP_NOMOVE Or %SWP_NOZORDER Or %SWP_DRAWFRAME
            End If
            Function = 0
            Exit Function
    ------------------
    Scott

    Leave a comment:


  • Peter Lameijn
    started a topic Resizing dialog

    Resizing dialog

    Is there an easy way to resize a DDT dialog window? I want to add a button
    to the dialog to change the dialog size. I need to show some additional
    controls then. (The button must 'flip' between 2 dialog sizes, say 400x300
    and 400x400). Or would it be easier to create 2 dialog windows?


    ------------------
    Peter.
    mailto[email protected][email protected]</A>

    [This message has been edited by Peter Lameijn (edited April 15, 2001).]
Working...
X