Диалогова кутия
4 отговора
178 прегледа
Диалогова кутия
Поставени са следните изисквания:
1) Да е оразмерима
2) Да е с произволен брой и тип контроли
Много ме спъва едновременноста на тези изисквания.Мисля да се откажа от първото...
1) Да е оразмерима
2) Да е с произволен брой и тип контроли
Много ме спъва едновременноста на тези изисквания.Мисля да се откажа от първото...
забравил си едно условие
.... и да прави каквото й кажеш....
Ако имаше такава Диалогова кутия знаеш ли колко хора щаха да останат без работа?!
Ако имаше такава Диалогова кутия знаеш ли колко хора щаха да останат без работа?!
Re: Шегата на страна[plezq se]
Да е оразмерима се постига лесно с WTL.Да има произволен брой контроли се постига лесно като биват създадени в обработчика на WM_INITDIALOG. Трудноста идва от , незнанието какви ще се контролите и какви идентификатори ще имат.
малко код изглежда така
for(UINT _uiCtrlId = 0;_uiCtrlId < GetPropsCount();_uiCtrlId++)
{
switch GetPropType(_uiCtrlId)
{
case IDP_STRING:
{
CEdit _edit;
_edit.Create(m_hParent,...,_uiCtrlId);
}
break;
case IDP_DIGIT:
{
CEdit _edit;
_edit.Create(m_hWnd,...,_uiCtrlId);
}
break;
case IDP_BOOL:
{
CButton _button;
_button.Create(m_hWnd,...,_uiCtrlId);
}
break;
case IDP_BITMAP:
{
CComboBoxEx _comboEx;
_comboEx.Create(m_hWnd,...,_uiCtrlId);
}
break;
default:
break;
}
}
малко код изглежда така
for(UINT _uiCtrlId = 0;_uiCtrlId < GetPropsCount();_uiCtrlId++)
{
switch GetPropType(_uiCtrlId)
{
case IDP_STRING:
{
CEdit _edit;
_edit.Create(m_hParent,...,_uiCtrlId);
}
break;
case IDP_DIGIT:
{
CEdit _edit;
_edit.Create(m_hWnd,...,_uiCtrlId);
}
break;
case IDP_BOOL:
{
CButton _button;
_button.Create(m_hWnd,...,_uiCtrlId);
}
break;
case IDP_BITMAP:
{
CComboBoxEx _comboEx;
_comboEx.Create(m_hWnd,...,_uiCtrlId);
}
break;
default:
break;
}
}
Ми това ми беше част от заданието
Нямах никакви проблеми особено след като клиента разбра какво точно иска.
ПП
Ползвах CBuilder
ПП
Ползвах CBuilder