Показать сообщение отдельно

  #1923  
Старый 28.11.2008, 00:38
NetSter
студент
Регистрация: 30.07.2007
Сообщений: 800
С нами: 9885926

Репутация: 1188


По умолчанию

мм.. не нашел инфо о том как привентить spin control в Visual Studio 2008 к едитбоксу..
вот что сделал уже сделал:
1) на одном форуме нашел как привязать спин контролл к едит боксу:
Цитата:
В Dialog Editor создать spin control, привязанный к едиту проще некуда. Создаешь edit как обычно. Создаешь рядом (можно и не рядом - все равно привяжется) spin control с той же панели инструментов "controls", в свойствах spinа ставишь флажок "Auto buddy" и выбираешь "Aligment" - Left или Right.
Spin привяжется к элементу, стоящему до него в TabOrder - для изменения или контроля TabOrder - меню Layout->Tab Order или Ctrl+D.
Менять значение в edite от спина можно обрабатывая сообщение UDN_DELTAPOS (Правая клавиша на spinе->Events->UDN_DELTAPOS->Add and Edit). Обрабатывать значения в editе введенные с клавиатуры и от spinа можно по сообщению EN_CHANGE editа (аналогично - Правая клавиша на edite->Events->EN_CHANGE->Add and Edit).
Если хочешь задать минимальное и максимальное значение spinа - проще всего это сделать в InitDialog, либо связав член класса со spinом, либо напрямую через ((CSpinButtonCtrl*)GetDlgItem(IDC_SPIN...))->SetRange(...);
Удачи в общем, и все такое...
2) есть диалог с едитом, его инициализция и чтение даных с него.. вообщем все работает.
Код:
 class CMyDialog : public CDialog
{
public:
	afx_msg BOOL OnSetCursor( CWnd* pWnd, UINT nHitTest, UINT message );
	CMyDialog(CWnd* pParent = NULL);  
		enum { IDD = IDD_MATRIXDIALOG };
	CListBox m_sizex;
	CEdit    m_matrix;
	CEdit    m_a;
	CEdit    m_b;
	CEdit    m_c;
protected:
	virtual void DoDataExchange(CDataExchange* pDX);    
protected:
	virtual void OnOK();
	virtual void OnCancel();
	virtual BOOL OnInitDialog();
	afx_msg void OnPaint();
	DECLARE_MESSAGE_MAP()
public:
	afx_msg void OnLbnSelchangeListx();
	afx_msg void OnStnClickedBitmap1();
 };
CMyDialog::CMyDialog(CWnd* pParent)
	: CDialog(CMyDialog::IDD, pParent)
{
}
void CMyDialog::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	DDX_Control(pDX, IDC_LISTX, m_sizex);
	DDX_Control(pDX, IDC_METRIXEDIT, m_matrix);
	DDX_Control(pDX, IDC_EDITA, m_a);
	DDX_Control(pDX, IDC_EDITB, m_b);
	DDX_Control(pDX, IDC_EDITC, m_c);
}
Код:
void CMyDialog::OnOK() 
{
	char str[80]; 
	char str1[80];
	char strA[5];
	char strB[5];
	char strC[5];
	Number=m_sizex.GetCurSel();
	m_sizex.GetText(Number,str);
	m_matrix.GetWindowText(str1,80);
	m_a.GetWindowText(strA,5);
	m_b.GetWindowText(strB,5);
	m_c.GetWindowText(strC,5);
----------------------
----------------------
	am = atoi(strA);
	bm = atoi(strB);
	cm = atoi(strC);
	fclose(matrix);
	BE_DIALOG=1;
	CDialog::OnOK();
}
Код:
BOOL CMyDialog::OnInitDialog() 
{
	CDialog::OnInitDialog();
	-----
        -----
	m_a.SetWindowText(CString("A"));
	m_b.SetWindowText(CString("B"));
	m_c.SetWindowText(CString("C"));
	return TRUE;
	}
Помогите привентить спин - контролл ну к примеру для (pDX, IDC_EDITA, m_a), и т.д.
Помогите ценным советом или толковым линком по сабжу..
Спасибо.
 
Ответить с цитированием