Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > SDI приложение


Автор: BlowFish 11.3.2003, 04:03
как поместить контрол в клиентской области SDI приложения? Киньте примерчик пожалуйста

Автор: Paradox 11.3.2003, 14:58
BlowFish если тебе нужен кусок диалогово окна в SDI документе, попробуй прикрепить dialog bar. Эта тема поднималась мной на форуме (см. MDI приложение, как "прицепить" панель управления )

Автор: BlowFish 12.3.2003, 01:49
Цитата
BlowFish если тебе нужен кусок диалогово окна в SDI документе, попробуй прикрепить dialog bar. Эта тема поднималась мной на форуме (см. MDI приложение, как "прицепить" панель управления )
не совсвем то. Т.к. я хочу просто поместить кнопку в клиентской области

Автор: TaTaP 12.3.2003, 02:53
А что, так просто не создается?

HWND hwndButt = CreateWindow( "button", "это кнопка", WS_CHILD | WS_VISIBLE, xPos, yPos, nWidth, nHeight, hwndParent, NULL, hInstance, NULL );
где
hwndParent - HWND твоего окна SDI,
hInstance - HINSTANCE приложения.
Остальное, думаю, понятно, если что - читай MSDN...

Автор: BlowFish 12.3.2003, 04:13
А есть, что-нибудь попроще. Типа

CButton but;
but.Create(......);
Цитата
HWND hwndButt = CreateWindow( "button", "это кнопка", WS_CHILD | WS_VISIBLE, xPos, yPos, nWidth, nHeight, hwndParent, NULL, hInstance, NULL );
где
hwndParent - HWND твоего окна SDI,
hInstance - HINSTANCE приложения.

Ведь этот пример просто создает окно? а мне нужна кнопка или любой другой контрол...
Если я ошибаюсь, то где взять параметр "hInstance"?

Автор: Paradox 12.3.2003, 14:57
Цитата
Ведь этот пример просто создает окно? а мне нужна кнопка или любой другой контрол...

А кнопка или другой контрол это разве не окно ?
Цитата
class CButton : public CWnd

Так в MSDN да и по смыслу понятно

Автор: linke 12.3.2003, 16:44
class CMyView : public CView
{
//..
protected:
void My();
CButton m_smallButton;
//..
};

int CMyView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CView::OnCreate(lpCreateStruct) == -1)
return -1;

My();

return 0;
}
void CFdgView::My()
{
m_smallButton.Create("Кнопка",WS_VISIBLE|WS_CHILD|
WS_BORDER,CRect(400,120,490,140),this,1);

}
Проще некуда. thumbs-up.gif

Автор: BlowFish 12.3.2003, 18:01
Цитата
void CFdgView::My()
{
m_smallButton.Create("Кнопка",WS_VISIBLE|WS_CHILD|
WS_BORDER,CRect(400,120,490,140),this,1);
}
Кнопка не появится на клиентской области. Она создается в памяти, но ее не видно

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)