⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gdwddt.bas

📁 Powerbasic 对GDI 的操作 很漂亮的代码!
💻 BAS
字号:
'+--------------------------------------------------------------------------+
'|                                 GDWDDT                                   |
'|                                                                          |
'|              Example on how to use the GDImage.dll with DDT              |
'|                                                                          |
'+--------------------------------------------------------------------------+
'|                                                                          |
'|                         Author Patrice TERRIER                           |
'|                                                                          |
'|                           copyright (c) 2005                             |
'|                                                                          |
'|                Patrice Terrier http://www.zapsolution.com                |
'|                                                                          |
'+--------------------------------------------------------------------------+
'|                  Project started on : 10-18-2005 (MM-DD-YYYY)            |
'|                        Last revised : 10-18-2005 (MM-DD-YYYY)            |
'+--------------------------------------------------------------------------+

#COMPILE EXE
#DIM ALL

#INCLUDE "WIN32API.INC"

%IDD_DIALOG1      = 101
%IDC_GDimageCTRL1 = 102
%IDC_GDimageCTRL2 = 103

DECLARE CALLBACK FUNCTION ShowDIALOG1Proc()
DECLARE FUNCTION ShowDIALOG1(BYVAL hParent AS DWORD) AS LONG

' Search for "GDImage" in the source code
#INCLUDE "GDImage.inc"               ' GDImage
$MyImage1 = "avalon.jpg"             ' GDImage (edit this using a full path name to image)
$MyImage2 = $MyImage1 + "<fit>"      ' GDImage

FUNCTION PBMAIN()
    RegisterGDImageClass             ' GDImage
    ShowDIALOG1 %HWND_DESKTOP
END FUNCTION

CALLBACK FUNCTION ShowDIALOG1Proc()

    SELECT CASE AS LONG CBMSG
        CASE %WM_INITDIALOG
            ' Initialization handler

        CASE %WM_NCACTIVATE
            STATIC hWndSaveFocus AS DWORD
            IF ISFALSE CBWPARAM THEN
                ' Save control focus
                hWndSaveFocus = GetFocus()
            ELSEIF hWndSaveFocus THEN
                ' Restore control focus
                SetFocus(hWndSaveFocus)
                hWndSaveFocus = 0
            END IF

        CASE %WM_COMMAND

    END SELECT
END FUNCTION

FUNCTION ShowDIALOG1(BYVAL hParent AS DWORD) AS LONG
    LOCAL lRslt AS LONG

    LOCAL hDlg  AS DWORD

    DIALOG NEW hParent, "GDI+ DDT image control ", 108, 135, 434, 337, %WS_POPUP OR _
        %WS_BORDER OR %WS_DLGFRAME OR %WS_SYSMENU OR %WS_CLIPSIBLINGS OR _
        %WS_VISIBLE OR %DS_MODALFRAME OR %DS_3DLOOK OR %DS_NOFAILCREATE OR _
        %DS_SETFONT, %WS_EX_CONTROLPARENT OR %WS_EX_LEFT OR _
        %WS_EX_LTRREADING OR %WS_EX_RIGHTSCROLLBAR, TO hDlg

  ' GDImage
    CONTROL ADD $GDImageClassName, hDlg, %IDC_GDimageCTRL1, _
        $MyImage1, 7, 5, 420, 190, %WS_CHILD OR %WS_VISIBLE _
        OR %WS_HSCROLL OR %WS_VSCROLL, %WS_EX_LEFT OR %WS_EX_LTRREADING OR _
        %WS_EX_RIGHTSCROLLBAR
        
  ' GDImage
    CONTROL ADD $GDImageClassName, hDlg, %IDC_GDimageCTRL2, _
        $MyImage2, 152, 210, 130, 110, %WS_CHILD OR _
        %WS_VISIBLE, %WS_EX_LEFT OR %WS_EX_LTRREADING OR _
        %WS_EX_RIGHTSCROLLBAR

    DIALOG SHOW MODAL hDlg, CALL ShowDIALOG1Proc TO lRslt

    FUNCTION = lRslt
END FUNCTION

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -