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

kalian 2003-08-07 12:03:40
在delphi中打开打印预览窗体,如何在程序中实现自定义预览窗体的文字,
如果有文字,如何去除??
...全文
152 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
  • 打赏
  • 举报
回复
剑神一笑 说的差不远,但是我如何取得 该窗口句柄??
最好给一段实例,谢谢拉
内容概要:本文系统性地介绍了Neo4j图数据库的技术体系、核心原理与企业级实战应用,涵盖从基础理论到生产落地的完整知识链条。深入剖析了Neo4j作为原生图数据库在存储架构、数据模型、查询语言(Cypher)方面的核心技术优势,重点讲解其基于节点、关系、属性的三元组模型和原生图存储机制,对比传统关系型数据库在处理复杂关联数据时的性能瓶颈。文档全面覆盖环境部署、工业级建模规范、Cypher深度编程、海量数据导入、Python/Java全栈开发集成、图算法分析(GDS)、高可用集群搭建及性能调优等内容,并通过金融风控知识图谱项目实现端到端的综合实战演练,提供可直接复用的建模模板、优化方案与故障排查手册。; 适合人群:具备一定数据库基础,从事大数据、人工智能、金融风控、知识图谱等相关领域的研发人员、架构师及数据工程师,尤其适合工作1-5年希望掌握图数据库企业级开发能力的技术人员。; 使用场景及目标:①掌握Neo4j在金融风控、社交网络、知识图谱等复杂关联场景下的建模与查询能力;②实现海量图数据的高效导入、集群部署与性能优化;③结合GDS图算法进行社群发现、路径分析、核心节点挖掘等智能分析任务;④构建前后端一体化的企业级图谱可视化系统。; 阅读建议:此资源强调工程化与生产级落地,建议结合实际项目边学边练,重点关注建模规范、索引设计、Cypher执行计划优化与集群运维等关键环节,配套源码与配置模板应作为开发参考标准使用。

1,184

社区成员

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

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