silverpot请进.同样是关于子窗体的问题
- C/C++ code
//---------------------------------------#include <vcl.h>#pragma hdrstop#include "assert.h"#include "Unit1.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::Btn1Click(TObject *Sender){ ::SetParent(Form2->Handle,GetDesktopListViewHandle()); Form2->Show(); }//---------------------------------------
1.子窗体不随主窗体最小化.
2.子窗体停留在桌面.
这段代码做到了这2点.但是会造成一个新的困扰:
From1在最小化后,无法复原....也就是说,在FROM2在桌面的情况下,FROM1无法恢复到窗体状态.
[解决办法]
我再去xp下测试测试,在我win7下是正常的。
标题上不要挂我ID啊,我怕会影响高手帮你解答问题的