Forum » Programiranje » [VC++, MFC] OnPaint
[VC++, MFC] OnPaint
black ice ::
Imam dialog v katerem bi rad glede na akcije na radio button(ih), checkboxih in drop down meniju izrisal nekaj likov. Imam dva dialoga in sicer osnovni dialog poimenovan vaja1 (datoteka vaja1Dlg.cpp) in dialog Risanje (datoteka DialogRisanje.cpp). Spodaj je koda v DialogRisanje.cpp:
in še napake, ki mi jih javlja prevajalnik:
Nimam več trohice potrpljenja s to zadevo in resno premišljujem da bi celotno zadevo nekam zabrisal.
// DialogRisanje.cpp : implementation file #include "stdafx.h" #include "vaja1.h" #include "DialogRisanje.h" #include "afxdialogex.h" // CDialogRisanje dialog IMPLEMENT_DYNAMIC(CDialogRisanje, CDialogEx) CDialogRisanje::CDialogRisanje(CWnd* pParent /*=NULL*/) : CDialogEx(CDialogRisanje::IDD, pParent) { } CDialogRisanje::~CDialogRisanje() { } void CDialogRisanje::DoDataExchange(CDataExchange* pDX) { CDialogEx::DoDataExchange(pDX); } BEGIN_MESSAGE_MAP(CDialogRisanje, CDialogEx) END_MESSAGE_MAP() // CDialogRisanje message handlers void CDialogRisanje::OnPaint() { CBrush *barva; barva = new CBrush(RGB(0,255,255)); //inicializacija barve dc.SelectStockObject(NULL_PEN); //brez obrobe dc.SelectObject(barva); //nastavitev barve dc.Ellipse(70,150,40,50);//risanje elementa barva->DeleteObject(); //brisanja barve ker je pač kazalec // sklicevanje na radio btn in check box radioBtn1 = (CButton *)GetDlgItem(IDC_RADIO1); radioBtn1->SetCheck(1); //onemogočimo checkBoxe CheckBox1.EnableWindow(0); }
in še napake, ki mi jih javlja prevajalnik:
2 IntelliSense: #error directive: Please use the /MD switch for _AFXDLL builds 3 IntelliSense: inherited member is not allowed 4 IntelliSense: identifier "dc" is undefined 5 IntelliSense: identifier "radioBtn1" is undefined 6 IntelliSense: identifier "CheckBox1" is undefined
Nimam več trohice potrpljenja s to zadevo in resno premišljujem da bi celotno zadevo nekam zabrisal.
jinzo ::
Kako pa si sploh dodal tale onPaint?
Pravtako, tam rabis
Pravtako, tam rabis
CButton *radioBtn1 = (CButton *)GetDlgItem(IDC_RADIO1);
whatever ::
Tam maš u visual studio nekje pod options/configuration/debug al nekaj takega maš neke opcije Multithread debug DLL pa to ... tisto probi spremenit, mogoče samo to (nastavitve kompajlerja) jebe pa je koda drugač vredi.
Veliko jih je notri, še več jih je pa zunaj.
Bilijarde v šole! - Ivan Kramberger
Abnormal behaviour of abnormal brain makes me normal.
Bilijarde v šole! - Ivan Kramberger
Abnormal behaviour of abnormal brain makes me normal.
jinzo ::
Ja ni ne, ko mu v onPaint manjka en konstrukt na začetku, po tem predvidevam da je metodo napisal na roke, kar pa potem nebo vredu ker ni pravega MESSAGE-ja povezal z to funkcijo in tako ali tako nebo delala.
black ice ::
Z malo pomoči sem rešil zadevo. Sedaj me matra to, da mi ne izriše elipse. Je kakšna ideja?
void CDialogRisanje::OnPaint() { CPaintDC dc(this); CBrush *barva; barva = new CBrush(RGB(30,50,255)); //inicializacija barve dc.SelectStockObject(NULL_PEN); //brez obrobe dc.SelectObject(barva); //nastavitev barve dc.Ellipse(40,50,70,150);//risanje elementa barva->DeleteObject(); //brisanja barve ker je pač kazalec //če greš brez zgornje kode je default barva bela, Risanje se dela v metodi ...on paint // sklicevanje na radio btn in check box CButton *radioBtn1 = (CButton *)GetDlgItem(IDC_RADIO1); radioBtn1 = (CButton *)GetDlgItem(IDC_RADIO1); radioBtn1->SetCheck(1); //onemogočimo checkBoxe //CheckBox1.EnableWindow(0); }
whatever ::
dc->getDC();
dc->releaseDC();
mogoče, jaz sem delal z Win32 API, MFC je brezveze in sam še bolj kompliciran.
dc->releaseDC();
mogoče, jaz sem delal z Win32 API, MFC je brezveze in sam še bolj kompliciran.
Veliko jih je notri, še več jih je pa zunaj.
Bilijarde v šole! - Ivan Kramberger
Abnormal behaviour of abnormal brain makes me normal.
Bilijarde v šole! - Ivan Kramberger
Abnormal behaviour of abnormal brain makes me normal.
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [c#] ukaz radirkaOddelek: Programiranje | 1108 (901) | japol |
» | [c#] picturebox, slika na slikoOddelek: Programiranje | 1083 (893) | japol |
» | mfc problemOddelek: Programiranje | 1638 (1202) | FuI2cY |
» | [C++ Visual Studio] kako narisati krog?Oddelek: Programiranje | 1467 (1234) | c0dehunter |
» | [C++] preprosto risanjeOddelek: Programiranje | 1659 (1536) | popec |