Hallo zusammen,
ich versuche eine CComboBox in ein JavaPanel zu zeichnen. Hier der bisherige C++-Code:
Wenn ich das Java-Programm starte bekomme ich eine Fehlermeldung
"Debug Assertion Failed". Kommentiere ich die Zeile
aus, kommt keine Fehlermeldung (aber natürlich auch keine Box).
Wenn ich statt der ComboBox einfach ein Rechteck o.ä. ins Panel zeichne, funktioniert alles.
Kann mir jemand weiterhelfen?
Gruß,
swalbking
Edit: Vielleicht ist der Thread im Teil "VisualStudio & MFC" besser aufgehoben (hab ich vohin nicht gesehen). Müsste dann mal jemand verschieben, danke!
ich versuche eine CComboBox in ein JavaPanel zu zeichnen. Hier der bisherige C++-Code:
Code:
JNIEXPORT void JNICALL paint
(JNIEnv* env, jobject canvas, jobject graphics)
{
JAWT awt;
JAWT_DrawingSurface* ds;
JAWT_DrawingSurfaceInfo* dsi;
JAWT_Win32DrawingSurfaceInfo* dsi_win;
jboolean result;
jint lock;
awt.version = JAWT_VERSION_1_3;
result = JAWT_GetAWT(env, &awt);
assert(result != JNI_FALSE);
ds = awt.GetDrawingSurface(env, canvas);
assert(ds != NULL);
lock = ds->Lock(ds);
assert((lock & JAWT_LOCK_ERROR) == 0);
dsi = ds->GetDrawingSurfaceInfo(ds);
dsi_win = (JAWT_Win32DrawingSurfaceInfo*)dsi->platformInfo;
////////////////////////////////
// CComboBox zeichnen
////////////////////////////////
CComboBox box;
CWnd* wnd = new CWnd();
wnd->Attach(dsi_win->hwnd);
box.AddString("eins");
box.AddString("zwei");
box.Create(WS_CHILD,CRect(10, 50, 100, 150),wnd, 1);
ds->FreeDrawingSurfaceInfo(dsi);
ds->Unlock(ds);
awt.FreeDrawingSurface(ds);
}
Wenn ich das Java-Programm starte bekomme ich eine Fehlermeldung
"Debug Assertion Failed". Kommentiere ich die Zeile
Code:
box.Create(WS_CHILD,CRect(10, 50, 100, 150),wnd, 1);
Wenn ich statt der ComboBox einfach ein Rechteck o.ä. ins Panel zeichne, funktioniert alles.
Kann mir jemand weiterhelfen?
Gruß,
swalbking
Edit: Vielleicht ist der Thread im Teil "VisualStudio & MFC" besser aufgehoben (hab ich vohin nicht gesehen). Müsste dann mal jemand verschieben, danke!
Zuletzt bearbeitet: