помогите!!!!
знаю их ID
IDC_CHECK1
IDC_CHECK2
IDC_CHECK3
как мне получить доступ к самим объектам, и узнавать в каком они состоянии, Checked или не Checked ........ хелпппп плиизззззз
создал ChekBox'ы в диалоге
знаю их ID
IDC_CHECK1
IDC_CHECK2
IDC_CHECK3
как мне получить доступ к самим объектам, и узнавать в каком они состоянии, Checked или не Checked ........ хелпппп плиизззззз
В принципе можно использовать GetDlgItem, но лучше задай переменные для CheckBox и вообще для всех элементов управления
В принципе можно использовать GetDlgItem, но лучше задай переменные для CheckBox и вообще для всех элементов управления
пишу GetDlgItem(hDlg,IDC_CHECK1).CheckState;
выдает ошибку
как задать переменые для элементов управления?
пишу GetDlgItem(hDlg,IDC_CHECK1).CheckState;
выдает ошибку
m_check1 = (CButton*)GetDlgItem(IDC_CHECK1);
m_check1->GetCheck();
как задать переменые для элементов управления?
В VC 6 для этого существует Wizard (Ctrl + W, вроде) только надо создавать переменную типа Control, в VC 7 выбери свой элемент управления и правой кнопкой мыши по нему там будет AddVariable
m_check1 = (CButton*)GetDlgItem(IDC_CHECK1);
m_check1->GetCheck();
В VC 6 для этого существует Wizard (Ctrl + W, вроде) только надо создавать переменную типа Control, в VC 7 выбери свой элемент управления и правой кнопкой мыши по нему там будет AddVariable
CButton - undeclared identifier
пишу #include "afxwin.h"
говорит windows.h уже включен
удаляю #include "windows.h" из afxwin.h
при компиляции все норм
а вот при линковки пишет еррор
теперь нужен nafxcwd.lib....где его найти, скиньте плиз сюда, если можно
CButton - undeclared identifier
пишу #include "afxwin.h"
говорит windows.h уже включен
удаляю #include "windows.h" из afxwin.h
при компиляции все норм
а вот при линковки пишет еррор
теперь нужен nafxcwd.lib....где его найти, скиньте плиз сюда, если можно
Ты где программируешь? (MFC, Win32API,...)
CButton * m_check1;
m_check1 = (CButton*)GetDlgItem(hWnd,IDC_CHECK1);
m_check1->GetCheck();
при выполнении функции m_check1->GetCheck();
вылетает с ошибкой
значение переменной m_check1= 0х000303е8 {CButton hWnd=???}
указатель встает вот на эту строчку
_AFXWIN_INLINE int CButton::GetCheck() const
{ ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, BM_GETCHECK, 0, 0); }
что делать? плиз хелп....
програмирую в MFC
CButton * m_check1;
m_check1 = (CButton*)GetDlgItem(hWnd,IDC_CHECK1);
m_check1->GetCheck();
при выполнении функции m_check1->GetCheck();
вылетает с ошибкой
значение переменной m_check1= 0х000303е8 {CButton hWnd=???}
указатель встает вот на эту строчку
_AFXWIN_INLINE int CButton::GetCheck() const
{ ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, BM_GETCHECK, 0, 0); }
что делать? плиз хелп....
Если ты используешь MFC то hWnd тебе не нужен. Вот рабочий пример под MFC:
m_check1 = (CButton*)GetDlgItem(IDC_CHECK1);
if(m_check1->GetCheck() == 1)
MessageBox("Помечен");
else
MessageBox("Не помечен");
Если ты используешь MFC то hWnd тебе не нужен. Вот рабочий пример под MFC:
m_check1 = (CButton*)GetDlgItem(IDC_CHECK1);
if(m_check1->GetCheck() == 1)
MessageBox("Помечен");
else
MessageBox("Не помечен");
нужно, я имею ввиду обычный Microsoft Visual C++
там всегда нужно передавать сначала указатель на окно, а потом остальное
нужно, я имею ввиду обычный Microsoft Visual C++
там всегда нужно передавать сначала указатель на окно, а потом остальное
Microsoft Visual C++ - это средство разработки, я имею ввиду библиотеку, которую ты используешь. По ходу ты использушь Win32API, тогда у тебя не классы, а указатели на объекты (Handle). Место CButton используй HWND.
Microsoft Visual C++ - это средство разработки, я имею ввиду библиотеку, которую ты используешь. По ходу ты использушь Win32API, тогда у тебя не классы, а указатели на объекты (Handle). Место CButton используй HWND.
HWND m_check1;
m_check1 = GetDlgItem(hWnd,IDC_CHECK1);
int check1=0;
if(m_check1->GetCheck() == 1)
check1=1;
else
check1=2;
пишет что GetCheck() не функция HWND, что логично, так как обратится все таки к объяекту(checkbox'y)?
HWND m_check1;
m_check1 = GetDlgItem(hWnd,IDC_CHECK1);
int check1=0;
if(m_check1->GetCheck() == 1)
check1=1;
else
check1=2;
пишет что GetCheck() не функция HWND, что логично, так как обратится все таки к объяекту(checkbox'y)?
Выложи сюда свой проект, надоело уже гадать
HWND m_check1;
m_check1 = GetDlgItem(hWnd,IDC_CHECK1);
int check1=0;
if(m_check1->GetCheck() == 1)
check1=1;
else
check1=2;
пишет что GetCheck() не функция HWND, что логично, так как обратится все таки к объяекту(checkbox'y)?
Выложи сюда свой проект
Выложи сюда свой проект
вот
вот
используй SendMessage. Для начала найди функцию GetCheck() в MFC, а оттуда найдешь и в Win32API, там будет описан весь синтаксис. Сам не могу MSDN нет.
используй SendMessage. Для начала найди функцию GetCheck() в MFC, а оттуда найдешь и в Win32API, там будет описан весь синтаксис. Сам не могу MSDN нет.
зачем мне SendMessage.....млиин ппц, MSDN есть, тока
int GetCheck( ) const;
Return Value
The return value from a button control created with the BS_AUTOCHECKBOX, BS_AUTORADIOBUTTON, BS_AUTO3STATE, BS_CHECKBOX, BS_RADIOBUTTON, or BS_3STATE style is one of the following values:
ValueMeaning
BST_UNCHECKEDButton state is unchecked.
BST_CHECKEDButton state is checked.
BST_INDETERMINATEButton state is indeterminate (applies only if the button has the BS_3STATE or BS_AUTO3STATE style).
If the button has any other style, the return value is BST_UNCHECKED.
Example
CButton myButton;
// Create an auto 3-state button.
myButton.Create(_T("My button"), WS_CHILD|WS_VISIBLE|BS_AUTO3STATE,
CRect(10,10,100,30), pParentWnd, 1);
// Set the check state to the next state
// (i.e. BST_UNCHECKED changes to BST_CHECKED
// BST_CHECKED changes to BST_INDETERMINATE
// BST_INDETERMINATE changes to BST_UNCHECKED).
myButton.SetCheck( ((myButton.GetCheck()+ 1 ) % 3) );
зачем мне SendMessage.....млиин ппц, MSDN есть, тока
int GetCheck( ) const;
Return Value
The return value from a button control created with the BS_AUTOCHECKBOX, BS_AUTORADIOBUTTON, BS_AUTO3STATE, BS_CHECKBOX, BS_RADIOBUTTON, or BS_3STATE style is one of the following values:
ValueMeaning
BST_UNCHECKEDButton state is unchecked.
BST_CHECKEDButton state is checked.
BST_INDETERMINATEButton state is indeterminate (applies only if the button has the BS_3STATE or BS_AUTO3STATE style).
If the button has any other style, the return value is BST_UNCHECKED.
Example
CButton myButton;
// Create an auto 3-state button.
myButton.Create(_T("My button"), WS_CHILD|WS_VISIBLE|BS_AUTO3STATE,
CRect(10,10,100,30), pParentWnd, 1);
// Set the check state to the next state
// (i.e. BST_UNCHECKED changes to BST_CHECKED
// BST_CHECKED changes to BST_INDETERMINATE
// BST_INDETERMINATE changes to BST_UNCHECKED).
myButton.SetCheck( ((myButton.GetCheck()+ 1 ) % 3) );
Ну и что у тебя заработало?
Ну и что у тебя заработало?
нет, все так же :(
нет, все так же :(
тебе нужна win32api версия а не mfc, в win32api нет класса cbutton. смотри внимательнее msdn
m_check1 = (CButton*)GetDlgItem(IDC_CHECK1);
if(m_check1->GetCheck() == 1)
MessageBox("Помечен");
else
MessageBox("Не помечен");
этот мне помогло , я пользую VC++ 6 MFC
подскажите, а радио кнопки как ? при нажатие ОК галочки установлен и действие
m_m_radio = (CButton*)GetDlgItem(IDC_RADIO);
диплоговое окно 3 радио , 1 радио установлена группа
вот думаю 3 раза прописать выделил жирным
m_radio = (CButton*)GetDlgItem(IDC_RADIO 1 и 2 и 3);
if(m_check1->GetCheck() == 1)
заменил на
if(m_check1 == TRUE)
и
switch (m_radio)
{
case 0: break;
case 1: break;
case 2: break;
}
Все работает! :)