非MDI程序子窗体不显示在任务栏只能另外调用程序?
1.让子窗体不会随着主窗体最小化
2.子窗体不能在任务栏有显示
这2个任意一个都好解决,放到一起似乎就不好解决了..
解决了第一个,第二个没办法处理..
头疼...难道只有我再创建一个程序,通过主程序调用子程序?
这样好麻烦啊..不可控因素太多了..
具体的问题描述在这楼
http://topic.csdn.net/u/20100226/15/f29d8af0-0a24-45fa-80da-4ef4697680ec.html?34167
(其实就是想做一个桌面日历类似的东西,让一些东西能固定在桌面上)
[解决办法]
我用BCB6在win7下测试实现了你的目的。
1、新建一个工程:创建两个窗口,为了测试省事,两个窗口让应用程序自动创建
2、在Form1上放一个按钮
全部代码如下:
//---------------------------------------#include <vcl.h>#pragma hdrstop#include "Unit1.h"#include "assert.h"#include "Unit2.h"//---------------------------------------#pragma package(smart_init)#pragma resource "*.dfm"TForm1 *Form1;HWND GetDesktopListViewHandle(void) { HWND hResult; hResult=::FindWindow("ProgMan",NULL); hResult=::GetWindow(hResult,GW_CHILD); hResult=::GetWindow(hResult,GW_CHILD); return hResult; }//---------------------------------------__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner){}//---------------------------------------void __fastcall TForm1::Button1Click(TObject *Sender){ ::SetParent(Form2->Handle,GetDesktopListViewHandle()); Form2->Show();}//---------------------------------------