C++Builder 窗体 不稳定的有关问题
C++Builder 窗体 不稳定的问题
使用时 却发现
不正常的情况1
不正常的情况2
这是正常的 控件排布
而且 即便是 第二种情况
他也能响应回车,也就是说 按钮 应该是 存在
//---------------------------------------------------------------------------
#ifndef TEDIT_OK_CANCELH
#define TEDIT_OK_CANCELH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
//---------------------------------------------------------------------------
enum E_OPENTESTWINDOW_RETURN
{
E_OTWR_OK = 0,
E_OTWR_CANCEL = 1,
};
extern E_OPENTESTWINDOW_RETURN RETURNINDEX;
class TEDIT_OK_CANCEL : public TForm
{
__published: // IDE-managed Components
TButton *Button1;
TEdit *Edit1;
TButton *Button2;
void __fastcall OK(TObject *Sender);
void __fastcall FormClose(TObject *Sender, TCloseAction &Action);
void __fastcall Cancel(TObject *Sender);
void __fastcall FormCreate(TObject *Sender);
void __fastcall FormResize(TObject *Sender);
private: // User declarations
public: // User declarations
__fastcall TEDIT_OK_CANCEL(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TEDIT_OK_CANCEL *EDIT_OK_CANCEL;
//---------------------------------------------------------------------------
//extern PACKAGE
E_OPENTESTWINDOW_RETURN OpenTestWindow( AnsiString &EditText,
AnsiString Caption, TRect pos );
#endif
//---------------------------------------------------------------------------
#include <memory>
#include <vcl.h>
#pragma hdrstop
#include "TEDIT_OK_CANCEL.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TEDIT_OK_CANCEL *EDIT_OK_CANCEL;
using std::auto_ptr;
static E_OPENTESTWINDOW_RETURN RETURNINDEX;
static AnsiString strTemp;
//---------------------------------------------------------------------------
__fastcall TEDIT_OK_CANCEL::TEDIT_OK_CANCEL(TComponent* Owner)
: TForm(Owner)
{
RETURNINDEX = E_OTWR_CANCEL;
}
//---------------------------------------------------------------------------
void __fastcall TEDIT_OK_CANCEL::OK(TObject *Sender)
{
RETURNINDEX = E_OTWR_OK;
this->Close();
}
//---------------------------------------------------------------------------
void __fastcall TEDIT_OK_CANCEL::Cancel(TObject *Sender)
{
RETURNINDEX = E_OTWR_CANCEL;
this->Close();
}
//---------------------------------------------------------------------------
void __fastcall TEDIT_OK_CANCEL::FormClose(TObject *Sender,
TCloseAction &Action)
{
//Action = caFree;
strTemp = this->Edit1->Text;
}
//---------------------------------------------------------------------------
//this->ClientWidth = Edit1->Width + 10;
//this->ClientHeight = Edit1->Height + Button1->Height + 15;
void __fastcall TEDIT_OK_CANCEL::FormResize(TObject *Sender)
{
/*
this->Edit1->Left = 5;
this->Edit1->Top = 5;
this->Button1->Left = 5;
this->Edit1->Show();
this->Button1->Show();
//*/
}
void __fastcall TEDIT_OK_CANCEL::FormCreate(TObject *Sender)
{
Invalidate();
}
//---------------------------------------------------------------------------
E_OPENTESTWINDOW_RETURN OpenTestWindow( AnsiString &EditText,
AnsiString Caption, TRect pos )
{
auto_ptr<TEDIT_OK_CANCEL> p( new TEDIT_OK_CANCEL( NULL ) );
p->Caption = Caption;
p->Edit1->Text = EditText;
//p->Position = poDesktopCenter;
//p->Button2->Hide();
p->FormResize( NULL );
//p->Top = pos.Top + (( pos.Height() - p->Height )>0?( pos.Height() - p->Height ):0)/2;
//p->Left = pos.Left + (( pos.Width() - p->Width )>0?( pos.Width() - p->Width ):0)/2;
p->ShowModal();
EditText = strTemp;
return RETURNINDEX;
}
//---------------------------------------------------------------------------
// 调用时
AnsiString anStrTest = "123";
OpenTestWindow( anStrTest, "123", TRect( 0, 0, 1, 2 ) );
使用时 却发现
不正常的情况1
不正常的情况2
这是正常的 控件排布
而且 即便是 第二种情况
他也能响应回车,也就是说 按钮 应该是 存在
- 1客户端服务器程序 getaddrinfo异常
- 2c++Builder文件操作,跪求大神解答!该如何处理
- 3Progressbar 组件怎么修改背景色和填充色
- 4怎么获得系统的显示比例
- 5求CB2010可用的Crack的XLSReadWriteII组件,多谢
- 6c++builder xe7怎么将写好的程序打包成其他电脑都能用的程序
- 7c++builder2010升级到XE7后,String类型与UnicodeString的步骤t_str()与c_str()全部是转成wchar_t
- 8这种MOUSE_MOVE事件,如何避免?
- 9哪位高手还有妖哥的bcb6使用json的源码
- 10使用TImage加载gif图片不会动,该怎么处理
- 上一篇:程序怎么生成随机变量
- 下一篇:有沒有用內存處理檔案I/O的 API 或步骤
文章评论
相关解决方案