vcpp4.doc

(53 KB) Pobierz

Czas

 

·      odmierzanie czasu za pomocą zegarów :

·      niezależna funkcja obsługi 

·      reakcja na komunikat WM_TIMER

 

UINT CWnd::SetTimer( UINT nIDEvent,

UINT nElapse, //ms

void (CALLBACK EXPORT* lpfnTimer)

(HWND, UINT, UINT, DWORD) );

 

void CALLBACK EXPORT TimerProc(

HWND hWnd,       //handle of CWnd

//that called SetTimer

   UINT nMsg,       //WM_TIMER

   UINT nIDEvent,   //timer identification

   DWORD dwTime    //system time

);

 

BOOL CWnd::KillTimer( int nIDEvent );

 

Okna Dialogowe

·      modalne okna dialogowe

·      nie modalne okna dialogowe

Dialogi Systemowe

·      wybór koloru ® klasa CColorDialog

CColorDialog Color1;              // domyślny czarny

CColorDialog Color2 ( RGB ( 255, 0 , 0 ) );

COLORREF crColor;

if (Color1.DoModal() == IDOK)

              crColor = Color1.GetColor ( ) ;

·      wybór czcionki ® CFontDialog

CFontDialog WhichFont ;

if (WhichFont.DoModal() == IDOK)

              { . . . . }

/* GetCurrentFont   GetFaceName             

   GetStyleName                  GetSize             

   GetColor                     GetWeight             

   IsStrikeOut                  IsUnderline             

   IsBold                        IsItalic */

 

·      wybór pliku

CFileDialog WhichFile ( TRUE );

if (WhichFile.DoModal() == IDOK)

              { . . . . }

/* GetPathName  GetFileName  GetFileExt /*

(można zadawać nazwę początkową i filtry)

·      zapisz jako plik

CFileDialog NewFileName ( FALSE );

·      drukowanie

CPrintDialog  MyPrint( FALSE );

if (MyPrint.DoModal() == IDOK)

              { . . . . }

/* GetCopies  GetDeviceName              GetDevMode  GetDriverName                GetFromPage    GetToPage

GetPortName                PrintAll       PrintRange */

·      ustawienie strony wydruku

CPrintDialog  MyPage1( TRUE );

//bez marginesów

CPageSetupDialog  MyPage2 ( ) ;

// marginesy, widok

 

Tworzenie Okien Dialogowych

·      Edytor Zasobów ® przycisk narzędzi NewDialog ® IDD_DIALOG1 ® generowany jest zasób opisujący okno

 

C



MyDialog

     OK



 

  Cancel

 

 

 

 

·      Generator Klas ®  CMyDialog : CDialog

(IDD_DIALOG1)

enum { IDD = ID_DIALOG1 };  // mydialog.h

CMyDialog::CMyDialog(CWnd* pParent

/*=NULL*/)

              : CDialog(CMyDialog::IDD, pParent)

{ ... }    // mydialog.cpp

·      myview.cpp

#include ”mydialog.h”

·      mywiew.cpp

CMyDialog dialog;

dialog.DoModal( );

·      obsługa OK i Cancel

CDialog::OnOK  i CDialog::OnCancel

·      wartości funkcji DoModal :

IDOK  , IDCANCEL

 

Elementy Sterujące

 

·      przyciski jednopozycyjne ( Buttons ) ® CButton

·      parametry : identyfikator , opis , widoczny / niedostępny  , tabulator ,  przycisk domyślny

·      Lista &Błędów

              dotyczy wszystkich elementów sterujących

·      kolejność tabulacji

Layout / Tab Order ® lewy przycisk myszki

dotyczy wszystkich elementów sterujących

·      naciśnięcie przycisku ® komunikat ® funkcja obsługi w klasie CMyDialog  (Generator Klas)

·      wyświetlanie opisu przycisku z zasobów  (dotyczy wszystkich elementów sterujących) :

·      pole opisu pozostawić puste

·      w klasie CMyDialog obsługa komunikatu WM_INITDIALOG

CMyDialog::SetDlgItemText

( UINT idButton, CString szString );

·      przykład

 

BOOL CMyDialog::OnInitDialog ( )

{              CDialog::OnInitDialog ( );

              // TODO: Add extra initialization here

              CString str;

              str.LoadString(IDS_BUTTON_NEXT);

              SetDlgItemText(IDC_BUTTON1, str);

              return TRUE; 

}

 

 

·      pola tekstowe  ( statyczne ) i ramki

(mają identyfikatory)

 









Przyciski Alarmowe

 

 

 

Kolor Niebieski



 

 

N+1N

NN

Nazwa Towaru:

Śruba  M6 x 35 |

 

·      wymiana informacji z elementami sterującymi :

·      obiekt klasy reprezentującej element np. CButton, CListBox, CEdit

·      proste zmienne np. int BOOL, CString ® DialogDataExchange wywoływane z funkcji CWnd::UpdateData

 

·     

Ö

·      niezależne przyciski wyboru

( Check Boxes )   CButton

·       Edytor Zasobów potem Generator Klas:

(CMyDialog)

·       zmienna rodzaju Control ( np. m_Box typu CButton ) albo

·       zmienna rodzaju Value (np. m_bChecked typu BOOL)

·      stan początkowy przycisku (stand. nie zaznaczony ) OnInitDialog :

m_Box.SetCheck( 1 ); // przycisk wybrany

albo

m_bChecked = 1;

UpdateData ( FALSE );

·       odczytanie stanu przycisku po zamknięciu okna OnOK :

BOOL bState = m_Box.GetCheck ( );

albo...

Zgłoś jeśli naruszono regulamin