ActiveX控件的OnDraw函数可以实现一个输入框和一个按钮吗?
其中输入框中可以填写任意文本,点击按钮后将文本提交.
如果不能够,那有没有其他的办法可以实现那?
谢谢~~
其中输入框中可以填写任意文本,点击按钮后将文本提交.
如果不能够,那有没有其他的办法可以实现那?
谢谢~~
解决方案 »
- VC++中如何添加新的自定义项目模板?
- Skinmagic好用吗?用它能做下拉菜单的皮肤吗?
- 为什么VC中没有graphics.h库文件?
- 各位VC高手,进来刺激一下你的神经吧,查MSDN未果.高手进来看看.
- 征求一女孩名字!!!!!
- 救急!!!!!!!!!!!!
- 在串口通讯时,在DCB中设置为二进制,但WriteFile时怎样实现二进制发送?
- 高分请求详细讲解,有意者请进>>(关于CFrameWnd布局问题)
- 使用变量并#include进了其声明文件,为什么编译仍报未定义?
- 第二个计时器程序解读
- 高手请来解决
- 用Object ARX怎么创建一个可停靠在AutoCAD的对话条?如何使用ARX的工具条?
你Ctrl中申明一个成员变量:CMyDialog m_dlgMain.;
在Ctrl OnCreate中处理: extern C****App theApp;
CRect rect;
theApp.m_pMainWnd = &m_dlgMain;
theApp.m_pActiveWnd = this; if(m_dlgMain.Create(IDD_DIALOG_MAIN, this))
{
GetClientRect( rect);
m_dlgMain.SetWindowPos(NULL , rect.left ,rect.top + 100 ,rect.Width() , rect.Height() , SWP_SHOWWINDOW);
}然后就想普通的对话框设计了
画一个Edit控件就可以了,相应按钮消息就行了,不知你要将内容提交到哪里?
{
if (COleControl::OnCreate(lpCreateStruct) == -1)
return -1;
CRect rect;
GetClientRect(&rect);
rect.DeflateRect (1,1,1,1); m_pEdit = new CsEdit; DWORD dwStyle = WS_GROUP | WS_VISIBLE | WS_CHILD /*| WS_BORDER*/ | ES_AUTOHSCROLL;// | WS_TABSTOP;//ES_READONLY;
//int height = ::GetSystemMetrics(SM_CYVSCROLL);
int cx = GetSystemMetrics(SM_CXVSCROLL);
int yEdge = ::GetSystemMetrics(SM_CYEDGE);
rect.right -= (cx+ yEdge);
m_pEdit->Create(dwStyle,rect,this,IDC_EDIT); m_pButton = new CsButton;
rect.left = rect.right+1;
rect.right += cx; //dwStyle = DFCS_SCROLLDOWN | DFCS_FLAT;
//dwStyle |= DFCS_PUSHED; dwStyle = BS_OWNERDRAW | WS_VISIBLE | WS_CHILD;// | WS_TABSTOP;
m_pButton->Create ("",dwStyle,rect,this,IDC_BUTTON); return 0;
}void CSComListCtrl::OnSize(UINT nType, int cx, int cy)
{
COleControl::OnSize(nType, cx, cy);
if(cx == 0 || cy == 0)
return; CRect windowRect;
GetWindowRect(&windowRect);
CWnd* pWnd = GetParent();
if(pWnd)
{
pWnd->ScreenToClient (&windowRect);
SetRectInContainer(&windowRect);
} CRect rect(0,0,cx,cy); rect.DeflateRect (4,2,2,2);
int vcx = GetSystemMetrics(SM_CXVSCROLL);
m_pEdit->MoveWindow (rect.left ,rect.top + 1 ,rect.Width() - (cy - 1), rect.Height () - 2); //rect.left = rect.right - vcx;
rect.left = rect.right - (cy - 3);
m_pButton->MoveWindow(&rect);
}
采用资源或者是动态的Create都可以的。OnDraw里面只能画一些东西,不能画控件的。