如何自定义窗体标题栏文字??十万火急

kalian 2003-08-07 12:03:40
在delphi中打开打印预览窗体,如何在程序中实现自定义预览窗体的文字,
如果有文字,如何去除??
...全文
149 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
Cappuccino 2003-08-08
  • 打赏
  • 举报
回复
但是这样创建的窗体~~好像还必须借助于命令台控制程序生存
而窗体本身不能作为程序的主界面吗?
请作答~~~~:-)
puma4993 2003-08-08
  • 打赏
  • 举报
回复
感谢剑神!我要好好啄磨啄磨。
pankun 2003-08-07
  • 打赏
  • 举报
回复
没大看明白,如果是要改自定义预览窗体的标题栏,取得这个窗口的句柄,再用SetWindowText就可以了.
大地精灵 2003-08-07
  • 打赏
  • 举报
回复
变它的CAPTION不就行了吗
pankun 2003-08-07
  • 打赏
  • 举报
回复
TO:puma4993
你的意思是用API建个空白窗体么?如果是这样的话,我转别人的一篇代码给你参考一下。

program Project1;

{$APPTYPE CONSOLE}

uses
windows,
messages;

// 回调函数
function AppWindowProc(
hWnd:HWND; uMsg:UINT;
wParam:WPARAM; lParam:LPARAM):LRESULT; stdcall;
begin
Result := 0;
case uMsg of
WM_DESTROY:begin
PostQuitMessage(0);
Exit;
end;
end;
Result :=
DefWindowProc(hWnd, uMsg, wParam, lParam);
end;


var
wc: TWndClass;
hWnd: Integer;
MSG: TMsg;

begin
{ TODO -oUser -cConsole Main : Insert code here }
// 程序从这里开始执行
wc.style := CS_VREDRAW or CS_HREDRAW;
wc.lpfnWndProc := @AppWindowProc;
wc.cbClsExtra := 0;
wc.cbWndExtra := 0;
wc.hInstance := HInstance;
wc.hIcon := LoadIcon(0, IDI_APPLICATION);
wc.hCursor := LoadCursor(0, IDC_ARROW);
wc.hbrBackground := (COLOR_BTNFACE+1);
wc.lpszMenuName := nil;
wc.lpszClassName := 'My App';
if RegisterClass(wc)=0 then Exit; //注册窗口
hWnd := CreateWindow( //建立窗口
wc.lpszClassName, 'TEST',
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, CW_USEDEFAULT,
CW_USEDEFAULT, CW_USEDEFAULT,
0, 0, HInstance, nil);
if hWnd=0 then Exit;
ShowWindow(hWnd, SW_SHOWNORMAL);
while GetMessage(MSG, 0, 0, 0) do begin //开始消息循环
TranslateMessage(MSG);
DispatchMessage(MSG);
end;
Halt(MSG.wParam);
end.
pankun 2003-08-07
  • 打赏
  • 举报
回复
TO:Kalian
可以用SetWindowText改对话框的标题

TO: puma4993
karach 2003-08-07
  • 打赏
  • 举报
回复
直接改Caption不行吗?难道你说的不是这个意思,那就是我的理解能力的问题了!!
kalian 2003-08-07
  • 打赏
  • 举报
回复
明天揭帖
kalian 2003-08-07
  • 打赏
  • 举报
回复
pankun(剑神一笑)
可以了,上面问题已经解决,
另:可以用setwindowtext 变对话框的标题么??
puma4993 2003-08-07
  • 打赏
  • 举报
回复
to pankun(剑神一笑):

盼!
puma4993 2003-08-07
  • 打赏
  • 举报
回复
pankun(剑神一笑):
您能否传授一下怎样创建一个空白窗体,烦您给附上原码。我请教过这个问题,您总是一笑而过。 我有2000分,专门另开帖给您,可否?
pankun 2003-08-07
  • 打赏
  • 举报
回复
另:还有几个取窗体句柄的函数,希望对你有帮助
GetActiveWindow, GetNextWindow, GetTopWindow
pankun 2003-08-07
  • 打赏
  • 举报
回复
你的后一窗体的标题是不定的么?还可以按类名取窗体句柄, FindWindow('类名', nil).
还有几个取窗体句柄的函数你参考一下吧,GetWindow, EnumWindow,GetWindow就可以实现取得下一个窗体的功能,不过我们放假啦,我在网吧,无法给你祥细的代码,不好意思啊,你自己试一下吧。
kalian 2003-08-07
  • 打赏
  • 举报
回复
pankun 我试过了,你的办法可以,
但是,如果我是在后一个窗体中间要改变呢??
也就是说,我在前面一个窗体获取后一窗体的句柄


pankun 2003-08-07
  • 打赏
  • 举报
回复
这样取吧 比如你的打印窗体的标题文字是 "打印" :
var
Hwnd: THandle;
begin
Hwnd := FindWindow(nil, '打印');
SetWindowText(Hwnd, '新的标题', 8);
end;
Zengqf_W 2003-08-07
  • 打赏
  • 举报
回复
findwindow
getwindow
SetWindowText
pingshx 2003-08-07
  • 打赏
  • 举报
回复
findwindow
kalian 2003-08-07
  • 打赏
  • 举报
回复
高人留步
可以给出源码么??如goldwolf所说,
如何取得该窗体句柄??
然后如何改变他的标题文字??
goldwolf 2003-08-07
  • 打赏
  • 举报
回复
剑神一笑 说的差不远,但是我如何取得 该窗口句柄??
最好给一段实例,谢谢拉
内容概要:本文针对海岛微电网中可再生能源消纳能力不足与运行经济性偏低的问题,提出了一种基于空调负荷与电动汽车(EV)联合虚拟储能的协同优化调度策略。通过挖掘温控负荷(如空调)的热惰性与电动汽车充电的时空灵活性,构建联合虚拟储能系统,有效增强微电网的储能调节能力。研究建立了融合源荷两侧资源的混合整数线性规划(MILP)优化模型,实现发电成本、购电成本与碳排放成本的多目标协同优化,并引入碳排放流理论量化系统各环节的碳排放强度,提升调度方案的低碳性。基于Matlab平台的仿真结果表明,所提策略在削峰填谷、降低系统综合运行成本、提高可再生能源利用率以及减少碳排放方面均具有显著效果,为孤立微电网的能量管理提供了可行的技术路径。; 适合人群:具备电力系统分析、优化调度或综合能源系统研究背景,熟悉Matlab编程与数学建模方法的研究生、科研人员及工程技术人员。; 使用场景及目标:①应用于海岛、偏远地区等孤立型微电网的能源优化管理;②探索高比例可再生能源接入下,需求侧灵活资源(如EV、温控负荷)参与电网调峰调频的协同控制机制;③实现微电网系统经济性、低碳性与运行稳定性的多维度优化目标; 阅读建议:建议结合提供的Matlab代码深入理解MILP优化模型的构建与求解过程,重点关注虚拟储能的建模方法、源荷协同调度框架的设计以及碳排放流理论在电力系统中的具体应用,适用于科研复现、论文写作及实际工程方案设计参考。

1,184

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧