Wine, WineLib and "Programming Windows 95"
Last updated: 2003/5/4
Description
Demonstrates the use of a modal dialog box for an about box.
Wine tests
- Works just like on Windows.
Winelib tests
Tested API
- GDI32
GetStockObject
- KERNEL32
CloseHandle, ExitProcess, FlushFileBuffers, FreeEnvironmentStringsA, FreeEnvironmentStringsW, GetACP, GetCPInfo, GetCommandLineA, GetEnvironmentStrings, GetEnvironmentStringsW, GetFileType, GetLastError, GetModuleFileNameA, GetModuleHandleA, GetOEMCP, GetProcAddress, GetStartupInfoA, GetStdHandle, GetVersion, HeapAlloc, HeapCreate, HeapFree, LoadLibraryA, RtlUnwind, SetFilePointer, SetHandleCount, SetStdHandle, UnhandledExceptionFilter, WideCharToMultiByte, WriteFile
- USER32
CreateWindowExA, DefWindowProcA, DialogBoxParamA, DispatchMessageA, EndDialog, GetMessageA, LoadCursorA, LoadIconA, PostQuitMessage, RegisterClassExA, ShowWindow, TranslateMessage, UpdateWindow
Last updated: 2003/5/4
Description
Same as about1 exccept that the modal dialog allows you to change the
color of the window and to switch between a rectangle and an ellipse.
Wine tests
- Works just like on Windows.
Winelib tests
Tested API
- GDI32
CreateSolidBrush, DeleteObject, Ellipse, GetStockObject, Rectangle, SelectObject
- KERNEL32
CloseHandle, ExitProcess, FlushFileBuffers, FreeEnvironmentStringsA, FreeEnvironmentStringsW, GetACP, GetCPInfo, GetCommandLineA, GetEnvironmentStrings, GetEnvironmentStringsW, GetFileType, GetLastError, GetModuleFileNameA, GetModuleHandleA, GetOEMCP, GetProcAddress, GetStartupInfoA, GetStdHandle, GetVersion, HeapAlloc, HeapCreate, HeapFree, LoadLibraryA, RtlUnwind, SetFilePointer, SetHandleCount, SetStdHandle, UnhandledExceptionFilter, WideCharToMultiByte, WriteFile
- USER32
BeginPaint, CheckRadioButton, CreateWindowExA, DefWindowProcA, DialogBoxParamA, DispatchMessageA, EndDialog, EndPaint, GetClientRect, GetDC, GetDlgItem, GetMessageA, InvalidateRect, LoadCursorA, LoadIconA, PostQuitMessage, RegisterClassExA, ReleaseDC, SetFocus, ShowWindow, TranslateMessage, UpdateWindow
Last updated: 2003/5/4
Description
Same as about1 but the dialog box contains a custom control. Note that,
although the custom button looks like an ellipse, it is really a rectangle.
Wine tests
- Works just like on Windows.
Winelib tests
Tested API
- GDI32
CreateSolidBrush, DeleteObject, Ellipse, GetStockObject, SelectObject, SetBkColor, SetTextColor
- KERNEL32
CloseHandle, ExitProcess, FlushFileBuffers, FreeEnvironmentStringsA, FreeEnvironmentStringsW, GetACP, GetCPInfo, GetCommandLineA, GetEnvironmentStrings, GetEnvironmentStringsW, GetFileType, GetLastError, GetModuleFileNameA, GetModuleHandleA, GetOEMCP, GetProcAddress, GetStartupInfoA, GetStdHandle, GetVersion, HeapAlloc, HeapCreate, HeapFree, LoadLibraryA, RtlUnwind, SetFilePointer, SetHandleCount, SetStdHandle, UnhandledExceptionFilter, WideCharToMultiByte, WriteFile
- USER32
BeginPaint, CreateWindowExA, DefWindowProcA, DialogBoxParamA, DispatchMessageA, DrawTextA, EndDialog, EndPaint, GetClientRect, GetMessageA, GetParent, GetSysColor, GetWindowLongA, GetWindowTextA, LoadCursorA, LoadIconA, PostQuitMessage, RegisterClassExA, SendMessageA, ShowWindow, TranslateMessage, UpdateWindow
Last updated: 2003/5/4
Description
Same as colors1 except that now the scrollbars are in a non-modal dialog
box. Also they are not 'colorized'. The non-modal dialog box normally
appears to be inside the application window but one can drag it outside
its limits.
Wine tests
- Works just like on Windows.
Winelib tests
Tested API
- GDI32
CreateSolidBrush, DeleteObject, GetStockObject
- KERNEL32
CloseHandle, ExitProcess, FlushFileBuffers, FreeEnvironmentStringsA, FreeEnvironmentStringsW, GetACP, GetCPInfo, GetCommandLineA, GetEnvironmentStrings, GetEnvironmentStringsW, GetFileType, GetLastError, GetModuleFileNameA, GetModuleHandleA, GetOEMCP, GetProcAddress, GetStartupInfoA, GetStdHandle, GetVersion, HeapAlloc, HeapCreate, HeapFree, LoadLibraryA, RtlUnwind, SetFilePointer, SetHandleCount, SetStdHandle, UnhandledExceptionFilter, WideCharToMultiByte, WriteFile
- USER32
CreateDialogParamA, CreateWindowExA, DefWindowProcA, DispatchMessageA, GetDlgItem, GetMessageA, GetParent, GetWindowLongA, InvalidateRect, IsDialogMessageA, LoadCursorA, LoadIconA, PostQuitMessage, RegisterClassExA, SetClassLongA, SetDlgItemInt, SetScrollPos, SetScrollRange, ShowWindow, TranslateMessage, UpdateWindow
Last updated: 2000/12/2
Description
Performs a single windows call... to ChooseColor.
Wine tests
- Works just like on Windows.
Winelib tests
Tested API
- KERNEL32
CloseHandle, ExitProcess, FlushFileBuffers, FreeEnvironmentStringsA, FreeEnvironmentStringsW, GetACP, GetCPInfo, GetCommandLineA, GetEnvironmentStrings, GetEnvironmentStringsW, GetFileType, GetLastError, GetModuleFileNameA, GetModuleHandleA, GetOEMCP, GetProcAddress, GetStartupInfoA, GetStdHandle, GetVersion, HeapAlloc, HeapCreate, HeapFree, LoadLibraryA, RtlUnwind, SetFilePointer, SetHandleCount, SetStdHandle, UnhandledExceptionFilter, WideCharToMultiByte, WriteFile
- comdlg32
ChooseColorA
Last updated: 2001/2/28
Description
This is an hexadecimal calculator. It uses a dialog box with a custom
class to be able to handle the messages itself. It supports mouse and
keyboard input.
Wine tests
Winelib tests
Tested API
- KERNEL32
CloseHandle, ExitProcess, FlushFileBuffers, FreeEnvironmentStringsA, FreeEnvironmentStringsW, GetACP, GetCPInfo, GetCommandLineA, GetEnvironmentStrings, GetEnvironmentStringsW, GetFileType, GetLastError, GetModuleFileNameA, GetModuleHandleA, GetOEMCP, GetProcAddress, GetStartupInfoA, GetStdHandle, GetStringTypeA, GetStringTypeW, GetVersion, HeapAlloc, HeapCreate, HeapFree, LCMapStringA, LCMapStringW, LoadLibraryA, MultiByteToWideChar, RtlUnwind, SetFilePointer, SetHandleCount, SetStdHandle, UnhandledExceptionFilter, WideCharToMultiByte, WriteFile
- USER32
CreateDialogParamA, DefWindowProcA, DispatchMessageA, GetDlgItem, GetMessageA, LoadCursorA, LoadIconA, MessageBeep, PostQuitMessage, RegisterClassExA, SendMessageA, SetDlgItemTextA, SetFocus, ShowWindow, TranslateMessage
Last updated: 2003/5/4
Description
Same as poppad2 except that it adds several dialog boxes: open/save
dialogs, a search dialog, a replace dialog, a font chooser and an about
dialog box.
Note that this program's implementation of the search/replace functionalities
is pretty poor and even buggy. In particular the replace functionality does
not show you which word is currently selected, and hitting replace will not
replace the currently selected word but the next match!
Wine tests
- See also the poppad1 bugs.
- When I open the open dialog box I get the
following messages where it complains it cannot access the floppy device.
Well, sure, there is no floppy inside and I'm not sure I would have
access to it as non-root. Maybe these should be changed to WARNs?
err:dosfs:DRIVE_GetLabel Invalid or unreadable superblock on /dev/fd0 (A:).
err:dosfs:DRIVE_ReadSuperblock Couldn't open device '/dev/fd0' for drive A: ! (no permission)
err:dosfs:DRIVE_ReadSuperblock Can't read drive volume info ! Either pre-set it or make sure the device to read it from is accessible !
Perhaps you have not properly edited or created your Wine configuration file.
This is '/home/fgouget/.wine/config'
Invalid or unreadable superblock on /dev/fd0 (A:). Maybe not FAT?
- When I open the open dialog box I get the
following message:
fixme:commdlg:GetFileName95 Flags 0x00002000 not yet implemented
Winelib tests
Tested API
- GDI32
CreateFontIndirectA, DeleteObject, GetObjectA, GetStockObject
- KERNEL32
CloseHandle, CreateFileA, ExitProcess, FlushFileBuffers, FreeEnvironmentStringsA, FreeEnvironmentStringsW, GetACP, GetCPInfo, GetCommandLineA, GetEnvironmentStrings, GetEnvironmentStringsW, GetFileType, GetLastError, GetModuleFileNameA, GetModuleHandleA, GetOEMCP, GetProcAddress, GetStartupInfoA, GetStdHandle, GetVersion, HeapAlloc, HeapCreate, HeapFree, LoadLibraryA, ReadFile, RtlUnwind, SetEndOfFile, SetFilePointer, SetHandleCount, SetStdHandle, UnhandledExceptionFilter, WideCharToMultiByte, WriteFile, lstrcpyA
- USER32
CreateWindowExA, DefWindowProcA, DestroyWindow, DialogBoxParamA, DispatchMessageA, EnableMenuItem, EndDialog, GetClientRect, GetMessageA, GetWindowTextA, GetWindowTextLengthA, InvalidateRect, IsClipboardFormatAvailable, IsDialogMessageA, LoadAcceleratorsA, LoadCursorA, LoadIconA, MessageBoxA, MoveWindow, PostQuitMessage, RegisterClassExA, RegisterWindowMessageA, SendMessageA, SetFocus, SetWindowTextA, ShowWindow, TranslateAcceleratorA, TranslateMessage, UpdateWindow, wsprintfA
- comdlg32
ChooseFontA, FindTextA, GetFileTitleA, GetOpenFileNameA, GetSaveFileNameA, ReplaceTextA