{-# LINE 1 "Graphics\\Win32\\Control.hsc" #-}{-# LANGUAGE Trustworthy #-}-----------------------------------------------------------------------------
-- |
-- Module : Graphics.Win32.Control
-- Copyright : (c) Alastair Reid, 1997-2003
-- License : BSD-style (see the file libraries/base/LICENSE)
--
-- Maintainer : Esa Ilari Vuokko <ei@vuokko.info>
-- Stability : provisional
-- Portability : portable
--
-- FFI bindings to the various standard Win32 controls.
--
-----------------------------------------------------------------------------
moduleGraphics.Win32.ControlwhereimportData.Bits((.|.))importGraphics.Win32.GDI.Types(HMENU,HWND)importGraphics.Win32.Message(WindowMessage)importGraphics.Win32.Window(ClassName,Pos,WindowStyle,maybePos)importGraphics.Win32.Window(c_CreateWindowEx)importSystem.IO.Unsafe(unsafePerformIO)importSystem.Win32.Types(HANDLE,UINT,maybePtr,newTString,withTString)importSystem.Win32.Types(failIfFalse_,failIfNull,failIfZero)importForeign.Ptr(nullPtr)
#include "windows_cconv.h"
-- == Command buttons
typeButtonStyle=WindowStylebS_PUSHBUTTON::ButtonStylebS_PUSHBUTTON=0bS_DEFPUSHBUTTON::ButtonStylebS_DEFPUSHBUTTON=1bS_CHECKBOX::ButtonStylebS_CHECKBOX=2bS_AUTOCHECKBOX::ButtonStylebS_AUTOCHECKBOX=3bS_RADIOBUTTON::ButtonStylebS_RADIOBUTTON=4bS_3STATE::ButtonStylebS_3STATE=5bS_AUTO3STATE::ButtonStylebS_AUTO3STATE=6bS_GROUPBOX::ButtonStylebS_GROUPBOX=7bS_AUTORADIOBUTTON::ButtonStylebS_AUTORADIOBUTTON=9bS_OWNERDRAW::ButtonStylebS_OWNERDRAW=11bS_LEFTTEXT::ButtonStylebS_LEFTTEXT=32bS_USERBUTTON::ButtonStylebS_USERBUTTON=8{-# LINE 51 "Graphics\\Win32\\Control.hsc" #-}createButton::String->WindowStyle->ButtonStyle->MaybePos->MaybePos->MaybePos->MaybePos->MaybeHWND->MaybeHMENU->HANDLE->IOHWNDcreateButtonnmwstylebstylemb_xmb_ymb_wmb_hmb_parentmb_menuh=withTStringnm$\c_nm->failIfNull"CreateButton"$c_CreateWindowEx0buttonStylec_nm(wstyle.|.bstyle)(maybePosmb_x)(maybePosmb_y)(maybePosmb_w)(maybePosmb_h)(maybePtrmb_parent)(maybePtrmb_menu)hnullPtrbuttonStyle::ClassNamebuttonStyle=unsafePerformIO(newTString"BUTTON")typeButtonState=UINTbST_CHECKED::ButtonStatebST_CHECKED=1bST_INDETERMINATE::ButtonStatebST_INDETERMINATE=2bST_UNCHECKED::ButtonStatebST_UNCHECKED=0{-# LINE 74 "Graphics\\Win32\\Control.hsc" #-}checkDlgButton::HWND->Int->ButtonState->IO()checkDlgButtondialogbuttoncheck=failIfFalse_"CheckDlgButton"$c_CheckDlgButtondialogbuttoncheckforeignimportWINDOWS_CCONVunsafe"windows.h CheckDlgButton"c_CheckDlgButton::HWND->Int->ButtonState->IOBoolcheckRadioButton::HWND->Int->Int->Int->IO()checkRadioButtondialogfirst_buttonlast_buttoncheck=failIfFalse_"CheckRadioButton"$c_CheckRadioButtondialogfirst_buttonlast_buttoncheckforeignimportWINDOWS_CCONVunsafe"windows.h CheckRadioButton"c_CheckRadioButton::HWND->Int->Int->Int->IOBoolisDlgButtonChecked::HWND->Int->IOButtonStateisDlgButtonCheckedwndbutton=failIfZero"IsDlgButtonChecked"$c_IsDlgButtonCheckedwndbuttonforeignimportWINDOWS_CCONVunsafe"windows.h IsDlgButtonChecked"c_IsDlgButtonChecked::HWND->Int->IOButtonState-- == ComboBoxes aka. pop up list boxes/selectors.
typeComboBoxStyle=WindowStylecBS_SIMPLE::ComboBoxStylecBS_SIMPLE=1cBS_DROPDOWN::ComboBoxStylecBS_DROPDOWN=2cBS_DROPDOWNLIST::ComboBoxStylecBS_DROPDOWNLIST=3cBS_OWNERDRAWFIXED::ComboBoxStylecBS_OWNERDRAWFIXED=16cBS_OWNERDRAWVARIABLE::ComboBoxStylecBS_OWNERDRAWVARIABLE=32cBS_AUTOHSCROLL::ComboBoxStylecBS_AUTOHSCROLL=64cBS_OEMCONVERT::ComboBoxStylecBS_OEMCONVERT=128cBS_SORT::ComboBoxStylecBS_SORT=256cBS_HASSTRINGS::ComboBoxStylecBS_HASSTRINGS=512cBS_NOINTEGRALHEIGHT::ComboBoxStylecBS_NOINTEGRALHEIGHT=1024cBS_DISABLENOSCROLL::ComboBoxStylecBS_DISABLENOSCROLL=2048{-# LINE 112 "Graphics\\Win32\\Control.hsc" #-}createComboBox::String->WindowStyle->ComboBoxStyle->MaybePos->MaybePos->MaybePos->MaybePos->HWND->MaybeHMENU->HANDLE->IOHWNDcreateComboBoxnmwstylecstylemb_xmb_ymb_wmb_hparentmb_menuh=withTStringnm$\c_nm->failIfNull"CreateComboBox"$c_CreateWindowEx0comboBoxStylec_nm(wstyle.|.cstyle)(maybePosmb_x)(maybePosmb_y)(maybePosmb_w)(maybePosmb_h)parent(maybePtrmb_menu)hnullPtrcomboBoxStyle::ClassNamecomboBoxStyle=unsafePerformIO(newTString"COMBOBOX")-- see comment about freeing windowNames in System.Win32.Window.createWindow
-- %end free(nm)
--- == Edit controls
----------------------------------------------------------------
typeEditStyle=WindowStyleeS_LEFT::EditStyleeS_LEFT=0eS_CENTER::EditStyleeS_CENTER=1eS_RIGHT::EditStyleeS_RIGHT=2eS_MULTILINE::EditStyleeS_MULTILINE=4eS_UPPERCASE::EditStyleeS_UPPERCASE=8eS_LOWERCASE::EditStyleeS_LOWERCASE=16eS_PASSWORD::EditStyleeS_PASSWORD=32eS_AUTOVSCROLL::EditStyleeS_AUTOVSCROLL=64eS_AUTOHSCROLL::EditStyleeS_AUTOHSCROLL=128eS_NOHIDESEL::EditStyleeS_NOHIDESEL=256eS_OEMCONVERT::EditStyleeS_OEMCONVERT=1024eS_READONLY::EditStyleeS_READONLY=2048eS_WANTRETURN::EditStyleeS_WANTRETURN=4096{-# LINE 153 "Graphics\\Win32\\Control.hsc" #-}createEditWindow::String->WindowStyle->EditStyle->MaybePos->MaybePos->MaybePos->MaybePos->HWND->MaybeHMENU->HANDLE->IOHWNDcreateEditWindownmwstyleestylemb_xmb_ymb_wmb_hparentmb_menuh=withTStringnm$\c_nm->failIfNull"CreateEditWindow"$c_CreateWindowEx0editStylec_nm(wstyle.|.estyle)(maybePosmb_x)(maybePosmb_y)(maybePosmb_w)(maybePosmb_h)parent(maybePtrmb_menu)hnullPtreditStyle::ClassNameeditStyle=unsafePerformIO(newTString"EDIT")-- see comment about freeing windowNames in System.Win32.Window.createWindow
-- %end free(nm)
-- == List boxes
----------------------------------------------------------------
typeListBoxStyle=WindowStylelBS_NOTIFY::ListBoxStylelBS_NOTIFY=1lBS_SORT::ListBoxStylelBS_SORT=2lBS_NOREDRAW::ListBoxStylelBS_NOREDRAW=4lBS_MULTIPLESEL::ListBoxStylelBS_MULTIPLESEL=8lBS_OWNERDRAWFIXED::ListBoxStylelBS_OWNERDRAWFIXED=16lBS_OWNERDRAWVARIABLE::ListBoxStylelBS_OWNERDRAWVARIABLE=32lBS_HASSTRINGS::ListBoxStylelBS_HASSTRINGS=64lBS_USETABSTOPS::ListBoxStylelBS_USETABSTOPS=128lBS_NOINTEGRALHEIGHT::ListBoxStylelBS_NOINTEGRALHEIGHT=256lBS_MULTICOLUMN::ListBoxStylelBS_MULTICOLUMN=512lBS_WANTKEYBOARDINPUT::ListBoxStylelBS_WANTKEYBOARDINPUT=1024lBS_DISABLENOSCROLL::ListBoxStylelBS_DISABLENOSCROLL=4096lBS_STANDARD::ListBoxStylelBS_STANDARD=10485763{-# LINE 194 "Graphics\\Win32\\Control.hsc" #-}createListBox::String->WindowStyle->ListBoxStyle->MaybePos->MaybePos->MaybePos->MaybePos->HWND->MaybeHMENU->HANDLE->IOHWNDcreateListBoxnmwstylelstylemb_xmb_ymb_wmb_hparentmb_menuh=withTStringnm$\c_nm->failIfNull"CreateListBox"$c_CreateWindowEx0listBoxStylec_nm(wstyle.|.lstyle)(maybePosmb_x)(maybePosmb_y)(maybePosmb_w)(maybePosmb_h)parent(maybePtrmb_menu)hnullPtrlistBoxStyle::ClassNamelistBoxStyle=unsafePerformIO(newTString"LISTBOX")-- see comment about freeing windowNames in System.Win32.Window.createWindow
-- %end free(nm)
-- == Scrollbars
----------------------------------------------------------------
typeScrollbarStyle=WindowStylesBS_HORZ::ScrollbarStylesBS_HORZ=0sBS_TOPALIGN::ScrollbarStylesBS_TOPALIGN=2sBS_BOTTOMALIGN::ScrollbarStylesBS_BOTTOMALIGN=4sBS_VERT::ScrollbarStylesBS_VERT=1sBS_LEFTALIGN::ScrollbarStylesBS_LEFTALIGN=2sBS_RIGHTALIGN::ScrollbarStylesBS_RIGHTALIGN=4sBS_SIZEBOX::ScrollbarStylesBS_SIZEBOX=8sBS_SIZEBOXTOPLEFTALIGN::ScrollbarStylesBS_SIZEBOXTOPLEFTALIGN=2sBS_SIZEBOXBOTTOMRIGHTALIGN::ScrollbarStylesBS_SIZEBOXBOTTOMRIGHTALIGN=4{-# LINE 231 "Graphics\\Win32\\Control.hsc" #-}createScrollbar::String->WindowStyle->ScrollbarStyle->MaybePos->MaybePos->MaybePos->MaybePos->HWND->MaybeHMENU->HANDLE->IOHWNDcreateScrollbarnmwstylesstylemb_xmb_ymb_wmb_hparentmb_menuh=withTStringnm$\c_nm->failIfNull"CreateScrollbar"$c_CreateWindowEx0scrollBarStylec_nm(wstyle.|.sstyle)(maybePosmb_x)(maybePosmb_y)(maybePosmb_w)(maybePosmb_h)parent(maybePtrmb_menu)hnullPtrscrollBarStyle::ClassNamescrollBarStyle=unsafePerformIO(newTString"SCROLLBAR")-- see comment about freeing windowNames in System.Win32.Window.createWindow
-- %end free(nm)
-- == Static controls aka. labels
----------------------------------------------------------------
typeStaticControlStyle=WindowStylesS_LEFT::StaticControlStylesS_LEFT=0sS_CENTER::StaticControlStylesS_CENTER=1sS_RIGHT::StaticControlStylesS_RIGHT=2sS_ICON::StaticControlStylesS_ICON=3sS_BLACKRECT::StaticControlStylesS_BLACKRECT=4sS_GRAYRECT::StaticControlStylesS_GRAYRECT=5sS_WHITERECT::StaticControlStylesS_WHITERECT=6sS_BLACKFRAME::StaticControlStylesS_BLACKFRAME=7sS_GRAYFRAME::StaticControlStylesS_GRAYFRAME=8sS_WHITEFRAME::StaticControlStylesS_WHITEFRAME=9sS_SIMPLE::StaticControlStylesS_SIMPLE=11sS_LEFTNOWORDWRAP::StaticControlStylesS_LEFTNOWORDWRAP=12sS_NOPREFIX::StaticControlStylesS_NOPREFIX=128{-# LINE 272 "Graphics\\Win32\\Control.hsc" #-}createStaticWindow::String->WindowStyle->StaticControlStyle->MaybePos->MaybePos->MaybePos->MaybePos->HWND->MaybeHMENU->HANDLE->IOHWNDcreateStaticWindownmwstylesstylemb_xmb_ymb_wmb_hparentmb_menuh=withTStringnm$\c_nm->failIfNull"CreateStaticWindow"$c_CreateWindowEx0staticStylec_nm(wstyle.|.sstyle)(maybePosmb_x)(maybePosmb_y)(maybePosmb_w)(maybePosmb_h)parent(maybePtrmb_menu)hnullPtrstaticStyle::ClassNamestaticStyle=unsafePerformIO(newTString"STATIC")-- see comment about freeing windowNames in System.Win32.Window.createWindow
-- %end free(nm)
{-# LINE 333 "Graphics\\Win32\\Control.hsc" #-}pBM_DELTAPOS::WindowMessagepBM_DELTAPOS=1027pBM_SETPOS::WindowMessagepBM_SETPOS=1026pBM_SETRANGE::WindowMessagepBM_SETRANGE=1025pBM_SETSTEP::WindowMessagepBM_SETSTEP=1028pBM_STEPIT::WindowMessagepBM_STEPIT=1029{-# LINE 341 "Graphics\\Win32\\Control.hsc" #-}-- % , PBM_GETRANGE
-- % , PBM_GETPOS
-- % , PBM_SETBARCOLOR
-- % , PBM_SETBKCOLOR
-- % , PBM_SETRANGE32

AltStyle によって変換されたページ (->オリジナル) /