Dan*_*all 0 delphi winapi panel topendialog
我想用一个"drop-box"扩展一个打开/保存对话框,它应该看起来像一个TPanel(斜角).代码已经存在 - 我使用带有WNDCLASS名称"Edit"的CreateWindowEx().
我已经搜索了一个解决方案,用纯WinAPI绘制TPanel(分别是斜面STATIC),但没有找到任何东西.
MS Spy ++告诉我,TPanel的WNDCLASS名称为"TPanel"(听起来不像纯WinAPI?)
我现在尝试了以下代码,但是当我尝试使用类名"TPanel"而不是"EDIT"或"STATIC"时,我会得到一个AV.
procedure TForm1.Button1Click(Sender: TObject);
begin
CreateWindowEx(
WS_EX_LEFT or WS_EX_LTRREADING or WS_EX_RIGHTSCROLLBAR or WS_EX_CONTROLPARENT,
'TPanel',
'Hello World',
WS_CHILDWINDOW or WS_VISIBLE or WS_CLIPSIBLINGS or WS_CLIPCHILDREN,
0, 0, 100, 100,
Handle, 0, hInstance, nil);
end;
Run Code Online (Sandbox Code Playgroud)
你能帮我么?
关心
Daniel Marschall
PS:你能告诉我如何在StackOverflow.com中编写delphi高亮显示的代码吗?
TPanel是纯VCL控件,它不是Win32窗口类的包装器.看一下TPanel的源代码(在VCL源代码中),看看它是如何绘制的.你需要的是用纯色填充内部并涂上边框.如果你想要主题支持,事情变得更加棘手.
另外你为什么要使用纯WinAPI?您可以在打开/保存对话框中嵌入VCL控件.在VCL源代码中查看TOpenPictureDialog - 它完全符合您的需求.
| 归档时间: |
|
| 查看次数: |
674 次 |
| 最近记录: |