Hallo,
danke für dei Antwoert. Ich habe nun nochmal in den Einstellungen gespielt und es doch hinbekommen. Ich war eben nur einfach verzweifelt
Herzlichen Dank
lg, freakC++
Wenn du CArray verwendest, dann kannst du mit Add ja immer am Ende einfügen und hast (abgesehen vom Speicherverbrauch) auch nicht das Problem, dass du über das Arrayende hinausgehst.
LeChief01 schrieb:
sehe ich das richtig, dass xlistctrl kostenpflichtig ist?
Nein.
This software is released into the public domain. You are free to use it in any way you like, except that you may not sell this source code.
also für eine clistctrl habe ich mal eine Zeile gefärbt. ListView kenn ich nicht. Oder meinst du CListBox?
Nachfolgend ein Beispiel für eine CListCtrl:
1. Handler NMCustomDraw der ListCtrl hinzufügen
2. Folgenden code einfügen
void CMyView::OnNMCustomdrawMyList(NMHDR *pNMHDR, LRESULT *pResult)
{
//LPNMCUSTOMDRAW pNMCD = reinterpret_cast<LPNMCUSTOMDRAW>(pNMHDR);
LPNMLVCUSTOMDRAW lpLVCustomDraw = reinterpret_cast<LPNMLVCUSTOMDRAW>(pNMHDR);
// TODO: Fügen Sie hier Ihren Kontrollbehandlungscode für die Benachrichtigung ein.
if(lpLVCustomDraw->nmcd.dwItemSpec==0) //erster Item
{
switch(lpLVCustomDraw->nmcd.dwDrawStage)
{
case CDDS_ITEMPREPAINT:
case CDDS_ITEMPREPAINT | CDDS_SUBITEM:
if (0 == ((lpLVCustomDraw->nmcd.dwItemSpec + lpLVCustomDraw->iSubItem) % 2))
{
lpLVCustomDraw->clrText = RGB(255,0,0); // red text
}
//pDC->CreateCompatibleDC();
};
}
*pResult = 0;
*pResult |= CDRF_NOTIFYITEMDRAW; //nicht Vergessen!!!!!
*pResult |= CDRF_NOTIFYSUBITEMDRAW;
}
Fehler 16 error LNK1120: 5 nicht aufgelöste externe Verweise. D:\Uni\Workspace\C++\EngineDLLExe\Debug\EngineDLLExe.exe EngineDLLExe
Fehler 15 error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_main" in Funktion "___tmainCRTStartup".
Du hast eine WinMain und ein Projekt vom Typ console.
http://msdn.microsoft.com/en-us/library/f9t8842e.aspx
Neues Projekt und als Projekt Typ nicht console sondern (ich kenne die genaue Bezeichnung nicht und hab kein Studio hier) win32 wählen.
Bzw. das subsystem auf windows umstellen in den Projekteinstellungen
Alternativ:
Das WinMain durch int main() ersetzen und die MessageBox aufrufe rauswerfen.
D:\Uni\Workspace\C++\EngineDLLExe\EngineDLLExe\MSVCRTD.lib(crtexe.obj) EngineDLLExe
Fehler 14 error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_mxCreateDoubleMatrix_730" in Funktion "_WinMain@16". D:\Uni\Workspace\C++\EngineDLLExe\EngineDLLExe\engwindemo.obj EngineDLLExe
Fehler 11 error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_mxDestroyArray" in Funktion "_WinMain@16". D:\Uni\Workspace\C++\EngineDLLExe\EngineDLLExe\engwindemo.obj EngineDLLExe
Fehler 12 error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_mxGetPi" in Funktion "_WinMain@16". D:\Uni\Workspace\C++\EngineDLLExe\EngineDLLExe\engwindemo.obj EngineDLLExe
Fehler 13 error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_mxGetPr" in Funktion "_WinMain@16". D:\Uni\Workspace\C++\EngineDLLExe\EngineDLLExe\engwindemo.obj EngineDLLExe
Selbes Problem wie im anderen Thread. Da fehlt eine .lib für die Funktionen mxGetPr etc.
Jeder hat eben seine Vorlieben .
Ich lege z.B alle Kommando-Behandlungs-Funktionen in die CMainFrame, das ist so meine zentrale Schaltstelle. Und hier habe ich nichts in der View gesteuert, die Druckroutinen haben mit der ListView in diesem Fall nichts zu tun, sondern ich drucke über StartDoc - EndDoc. Und man kann natürlich darüber streiten, wo man das macht - hier greift eben meine Vorliebe
Mfg
Wilfried
Martin Richter schrieb:
Eigentlich dürfte es hier kein Flackern geben, außer Deine Bitmaps unterscheiden sich so gravierend. Der Button wird ja immer als Ganzes neu gezeichnet.
Also die Bitmaps sind identisch. Wie gesagt, bei den Bitmaps ist dieser Effekt nicht ganz so schlimm, wie bei den Buttons die ich selber zeichne.
Martin Richter schrieb:
Und warum bitte Bitmap Buttons?
Warum keine normalen?
Keine Ahnung. Ich bin MFC Neuling und habe mich nur an das Tutorial gehalten (siehe Link von oben)
Warum startest Du den Thread nicht mit dem Dialog in OnInitDialog... oder warum wartest Du nicht bis der Dialog erzeugt wird. Wenn der Dialog erzegt wurde kannst Du in WM_INITDIALOG ein entsprechendes Flag oder das Handle abspeichern und der Thread kann diese Info benutzen.
Ja, die beiden Möglichkeiten sind mir bekannt. Nr.1 verwende ich im Moment. Dachte nur, dass das durch die "Zusätzlichen Bibliotheksverzeichnisse" umgangen werden kann...