Aber wen ich auf "gdktypes" [Ctrl + Enter] drücke, wird die Unit geöffnet.
Code: Alles auswählen
uses
Cairo,
glib,
gdktypes, // Hier motzt er
gdkt
gtk;
Ich verwende Lazarus 2.2.4 / FPC 3.2.2
Code: Alles auswählen
uses
Cairo,
glib,
gdktypes, // Hier motzt er
gdkt
gtk;
Code: Alles auswählen
uses
Cairo, glib2, gdk2, gtk2;
Code: Alles auswählen
(project1:6968): GLib-GObject-WARNING **: 14:44:01.146: ../../../gobject/gsignal.c:2620: signal 'draw' is invalid for instance '0x2272630' of type 'GtkDrawingArea'
Code: Alles auswählen
g_signal_connect(G_OBJECT(darea), "draw", G_CALLBACK(on_draw_event), NULL);
Code: Alles auswählen
function on_draw_event(widget: PGtkWidget; cr: Pcairo_t; user_data: Pgpointer): gboolean; // cdecl;
Gut möglich,
Code: Alles auswählen
program project1;
uses
Cairo, glib2, gdk2, gtk2;
function on_Exposs_Event(widget: PGtkWidget; event: PGdkEventExpose; Data: gpointer): gboolean;
var
cr: Pcairo_t;
begin
cr := gdk_cairo_create(widget^.window);
cairo_move_to(cr, 0, 100);
cairo_line_to(cr, 200, 100);
cairo_stroke(cr);
cairo_destroy(cr);
Result := False;
end;
function main: integer;
var
window: PGtkWidget;
begin
gtk_init(@argc, @argv);
window := gtk_window_new(GTK_WINDOW_TOPLEVEL);
g_signal_connect(window, 'destroy', G_CALLBACK(@gtk_main_quit), nil);
g_signal_connect(window, 'expose-event', G_CALLBACK(@on_Exposs_Event), nil);
gtk_widget_set_app_paintable(window, gTRUE);
gtk_widget_show_all(window);
gtk_main;
Result := 0;
end;
begin
main;
end.