Hallo, ich habe jetzt 'mal ein WIMP-Fenster in C mit Hilfe von GCC und OSLib erzeugt. Das Listing muss ich noch einmal überarbeiten, aber vielleicht interessiert es ja jemanden hier: #include "oslib/wimp.h" #include <stdbool.h> int main() { // initialise task wimp_version_no version_out; wimp_t task_handle; task_handle=wimp_initialise(310, "OSLib_Example 1", NULL, &version_out); // load template and create window wimp_open_template ("Example"); wimp_window window[2000]; char data[2000]; char const end[2000]; byte font_ref=-1; char name[11]="Example"; int context=0; int used[2000]; int data_used[2000]; wimp_load_template (window, data, end, &font_ref, name, context, used, data_used); wimp_w w; w = wimp_create_window (window); wimp_window_state state; state.w = w; wimp_get_window_state (&state); wimp_open open; open.w = state.w; open.visible = state.visible; open.xscroll = state.xscroll; open.yscroll = state.yscroll; open.next = state.next; wimp_open_window (&open); wimp_close_template (); // variables for wimp_poll wimp_event_no event; wimp_poll_flags mask=1; wimp_block block; osbool quit_pending = FALSE; while (!quit_pending) { event = wimp_poll(mask, &block, NULL); switch (event) { case wimp_OPEN_WINDOW_REQUEST: wimp_open_window(&(block.open)); break; case wimp_CLOSE_WINDOW_REQUEST: wimp_close_window(block.close.w); quit_pending = true; break; case wimp_USER_MESSAGE: case wimp_USER_MESSAGE_RECORDED: if (block.message.action == message_QUIT) { quit_pending = true; break; } } } wimp_close_down(task_handle); return 0; } Die Fensterdefinition muss sich in einer Template-Datei namens Example befinden, welche nachgeladen wird. Das Fenster muss ebenfalls Example heißen. Die Template-Datei muss sich bei diesem Listing in dem aktuellen Verzeichnis befinden, auf das der Filer gerade zeigt (zu finden mittels *cat). Schönes Wochenende, Alex' -- http://home.chiemgau-net.de/ausserstorfer/