![]() |
Anzeige:
|
|
|||||||
| C/C++, Visual C++, Visual C++.NET Fragen und Antworten zu C/C++, Visual C++ und Visual C++.NET |
|
![]() |
|
|
LinkBack | Themen-Optionen | Ansicht |
|
|
#1 (Direktlink) |
|
Erfolgreich angemeldet
![]() Registriert seit: 22.12.2007
Ort: Berlin
Beiträge: 1
|
Ich will von einem VC++ DLL aus auf eine aufrufende VB-Form Grafik zeichnen (MS Visual Studio 6.0) :
- das Oobjekt "Form" besitzt schon in VB die (windowsspezifische) eigenschaft hDC, die als long weitergegeben werden kann. - C++ empfängt das, akzeptiert auch als DC, denn es zeichnet (angeblich) die Ellipse und meldet zurueck "die ellipse sei fehlerlos gezeichnet"... - und es erscheint doch nichts auf der VB-form: C++ seitig: -------------- extern "C" int PASCAL EXPORT MyEllipse (int* F, HDC hDC) { AFX_MANAGE_STATE(AfxGetStaticModuleState()); if(Ellipse(hDC, F[0], F[1], F[2], F[3])!=0) return -1; // falls fehlerlos gezeichnet, dann -1 zurueckgeben, else return GetLastError(); // falls fehler, fehlercode (> 0) zurueckgeben. } VB-seitig: ----------- Private Declare Function MyEllipse Lib "MyMFC.dll" _ (ByRef F0 As Integer, ByVal hDC As Long) As Integer Private Sub Form_Load() Dim F(3) As Integer F(0) = 500 F(1) = 500 F(2) = 1000 F(3) = 1000 n = MyEllipse(F(0), me.hDC) ' Auf der Form erscheint jedoch NICHTS ! MsgBox (n) ' Trotzdem meldet es -1, dh. "Ellipse mit erfolg gezeichnet!" End Sub kann mir jemand helfen??? tulgan |
|
|
|
|
![]() |
|
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
|
|