powerbasic 任意调节dlg大小
时间: 2023-07-18 21:50:50 浏览: 82
您可以使用以下步骤在PowerBASIC中调整对话框的大小:
1. 在对话框的资源文件中,选中对话框并打开“属性”对话框。
2. 在“属性”对话框中,选择“样式”选项卡。
3. 取消选中“固定大小”复选框,以允许对话框大小调整。
4. 在您的PowerBASIC代码中,使用以下代码行打开对话框:
DIALOG SHOW MODELESS hDlg, CALL DialogProc
其中,hDlg是对话框的句柄,DialogProc是您的对话框过程。
5. 在您的对话框过程中,处理WM_SIZE消息,以便在对话框大小更改时重新布局控件。
FUNCTION DialogProc(BYVAL hDlg AS DWORD, BYVAL wMsg AS DWORD, BYVAL wParam AS DWORD, BYVAL lParam AS LONG) AS LONG
SELECT CASE wMsg
CASE %WM_SIZE
'重新布局控件的代码
END SELECT
END FUNCTION
通过这些步骤,您可以在PowerBASIC中轻松地调整对话框的大小。
相关问题
powerbasic 任意调节窗口大小
要在PowerBASIC中调整窗口大小,您需要使用API函数来实现。您可以使用以下代码来调整窗口大小:
```
DECLARE FUNCTION SetWindowPos LIB "user32.dll" ALIAS "SetWindowPos" _
(BYVAL hWnd AS DWORD, BYVAL hWndInsertAfter AS DWORD, BYVAL x AS LONG, _
BYVAL y AS LONG, BYVAL cx AS LONG, BYVAL cy AS LONG, BYVAL uFlags AS DWORD) AS LONG
CONST SWP_NOZORDER = &H4
CONST SWP_NOMOVE = &H2
CONST SWP_SHOWWINDOW = &H40
FUNCTION ResizeWindow(BYVAL hWnd AS DWORD, BYVAL newX AS LONG, BYVAL newY AS LONG, BYVAL newWidth AS LONG, BYVAL newHeight AS LONG) AS LONG
RETURN SetWindowPos(hWnd, 0, newX, newY, newWidth, newHeight, SWP_NOZORDER OR SWP_NOMOVE OR SWP_SHOWWINDOW)
END FUNCTION
```
您可以将此代码复制并粘贴到您的PowerBASIC项目中,并使用`ResizeWindow`函数来调整窗口大小。例如,要将窗口大小调整为500x500像素,您可以使用以下代码:
```
DIM hWnd AS DWORD
hWnd = GetActiveWindow() '获取当前活动窗口的句柄
CALL ResizeWindow(hWnd, 0, 0, 500, 500)
```
请注意,此代码将调整当前活动窗口的大小。如果您要调整其他窗口的大小,则需要使用该窗口的句柄。
powerbasic 调节窗口为任意大小
要调节窗口为任意大小,你可以使用 PowerBASIC 中的 DDT(Dynamic Dialog Tools)来创建可调节大小的窗口。
以下是一个简单的示例代码,演示如何创建一个可调节大小的窗口:
```
#COMPILE EXE
#DIM ALL
#INCLUDE "WIN32API.INC"
%IDC_MAIN = 101
FUNCTION PBMAIN() AS LONG
LOCAL hDlg AS DWORD
DIALOG NEW 0, "Resizable Window", , , 320, 240, _
%WS_OVERLAPPEDWINDOW OR %WS_VISIBLE OR %WS_CLIPCHILDREN, _
0 TO hDlg
DIALOG ADD BUTTON, hDlg, %IDC_MAIN, "OK", 100, 200, 75, 25
DIALOG SHOW MODAL hDlg CALL DlgProc
END FUNCTION
CALLBACK FUNCTION DlgProc()
SELECT CASE CBMSG
CASE %WM_SIZE
DIALOG GET CLIENT SIZE CBHNDL TO gWidth, gHeight
DIALOG SET SIZE CBHNDL, , , gWidth, gHeight
CASE %WM_COMMAND
SELECT CASE CBCTL
CASE %IDC_MAIN
DIALOG END CBHNDL
END SELECT
END SELECT
END FUNCTION
```
这个例子创建一个窗口,并添加一个“OK”按钮。当用户调整窗口大小时,窗口的大小也会相应地调整。当用户单击“OK”按钮时,窗口将关闭。
希望这个例子能够帮助你创建一个可调节大小的 PowerBASIC 窗口。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)