[ros-diffs] [ekohl] 26368: - Replace the listview control on the pointer page by an ownerdrawn listbox and add necessary code changes. - Add missing "Horizontal Resize" string resource. - Make the cursor preview work for the system cursors.

ekohl at svn.reactos.org ekohl at svn.reactos.org
Tue Apr 17 12:41:08 CEST 2007


Author: ekohl
Date: Tue Apr 17 14:41:07 2007
New Revision: 26368

URL: http://svn.reactos.org/svn/reactos?rev=26368&view=rev
Log:
- Replace the listview control on the pointer page by an ownerdrawn listbox and add necessary code changes.
- Add missing "Horizontal Resize" string resource.
- Make the cursor preview work for the system cursors.

Modified:
    trunk/reactos/dll/cpl/main/lang/cs-CZ.rc
    trunk/reactos/dll/cpl/main/lang/de-DE.rc
    trunk/reactos/dll/cpl/main/lang/en-US.rc
    trunk/reactos/dll/cpl/main/lang/es-ES.rc
    trunk/reactos/dll/cpl/main/lang/fr-FR.rc
    trunk/reactos/dll/cpl/main/lang/hu-HU.rc
    trunk/reactos/dll/cpl/main/lang/id-ID.rc
    trunk/reactos/dll/cpl/main/lang/it-IT.rc
    trunk/reactos/dll/cpl/main/lang/ja-JP.rc
    trunk/reactos/dll/cpl/main/lang/nl-NL.rc
    trunk/reactos/dll/cpl/main/lang/ru-RU.rc
    trunk/reactos/dll/cpl/main/lang/uk-UA.rc
    trunk/reactos/dll/cpl/main/mouse.c
    trunk/reactos/dll/cpl/main/resource.h

Modified: trunk/reactos/dll/cpl/main/lang/cs-CZ.rc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/main/lang/cs-CZ.rc?rev=26368&r1=26367&r2=26368&view=diff
==============================================================================
--- trunk/reactos/dll/cpl/main/lang/cs-CZ.rc (original)
+++ trunk/reactos/dll/cpl/main/lang/cs-CZ.rc Tue Apr 17 14:41:07 2007
@@ -74,11 +74,11 @@
 BEGIN
   GROUPBOX "Sc&héma", -1, 5, 5, 170, 45
   COMBOBOX IDC_COMBO_CURSOR_SCHEME, 10, 15, 145, 200, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP
-  CONTROL "", IDC_LISTVIEW_CURSOR ,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_NOCOLUMNHEADER | LVS_SHAREIMAGELISTS | WS_BORDER | WS_TABSTOP, 5, 70, 230, 120
   PUSHBUTTON "&Uložit jako...", IDC_BUTTON_SAVEAS_SCHEME, 70, 30, 50, 15
   PUSHBUTTON "&Odstranit", IDC_BUTTON_DELETE_SCHEME, 125, 30, 40, 15
-  CONTROL  "", IDC_IMAGE_CURRENT_CURSOR, "Static", SS_OWNERDRAW, 195, 15, 35, 35, WS_EX_STATICEDGE
+  CONTROL "", IDC_IMAGE_CURRENT_CURSOR, "Static", SS_ICON | SS_CENTERIMAGE | WS_VISIBLE, 190, 9, 45, 41, WS_EX_STATICEDGE
   LTEXT "Vl&astní", -1, 5, 60, 40, 10
+  LISTBOX IDC_LISTBOX_CURSOR, 5, 70, 230, 120, WS_VISIBLE | WS_BORDER | WS_TABSTOP | WS_VSCROLL | LBS_OWNERDRAWFIXED | LBS_NOTIFY
   CHECKBOX "&Zobrazit stín pod ukazatelem", IDC_CHECK_DROP_SHADOW, 5, 200, 110, 10
   PUSHBUTTON "Použít &výchozí", IDC_BUTTON_USE_DEFAULT_CURSOR, 120, 200, 50, 15
   PUSHBUTTON "&Procházet", IDC_BUTTON_BROWSE_CURSOR, 175, 200, 50, 15
@@ -153,6 +153,7 @@
   IDS_NWPEN "Psaní rukou"
   IDS_NO "Není k dispozici"
   IDS_SIZENS "Zmìna výšky"
+  IDS_SIZEWE "Horizontal Resize"
   IDS_SIZENWSE "Diagonální zmìna velikosti 1"
   IDS_SIZENESW "Diagonální zmìna velikosti 2"
   IDS_SIZEALL "Pøesunout"

Modified: trunk/reactos/dll/cpl/main/lang/de-DE.rc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/main/lang/de-DE.rc?rev=26368&r1=26367&r2=26368&view=diff
==============================================================================
--- trunk/reactos/dll/cpl/main/lang/de-DE.rc (original)
+++ trunk/reactos/dll/cpl/main/lang/de-DE.rc Tue Apr 17 14:41:07 2007
@@ -55,14 +55,14 @@
 BEGIN
   GROUPBOX "Tastenkonfiguration", -1, 5, 5, 230, 70
   CHECKBOX "&Primäre und sekundäre Taste umschalten", IDC_SWAP_MOUSE_BUTTONS, 10, 15, 145, 10
-  CONTROL  "", IDC_IMAGE_SWAP_MOUSE, "Static", SS_ICON | SS_CENTERIMAGE | WS_VISIBLE, 165, 15, 65, 57, WS_EX_STATICEDGE
+  CONTROL "", IDC_IMAGE_SWAP_MOUSE, "Static", SS_ICON | SS_CENTERIMAGE | WS_VISIBLE, 165, 15, 65, 57, WS_EX_STATICEDGE
   LTEXT "Aktivieren Sie dieses Kontrollkästchen, um die rechte Maustaste für primäre Funktionen, wie Auswählen und Ziehen zu verwenden.", -1, 10, 30, 150, 31
   GROUPBOX "Doppelklickgeschwindigkeit", -1, 5, 75, 230, 70
   LTEXT "Doppelklicken Sie auf den Ordner, um die Einstellung zu testen. Verwenden Sie eine langsamere Einstellung, wenn der Ordner sich nicht öffnen oder schließen lässt.", -1, 10, 85, 150, 32
   LTEXT "Langsam", -1, 10, 120, 90, 8
   LTEXT "Schnell", -1, 140, 120, 30, 8
   CONTROL "",IDC_SLIDER_DOUBLE_CLICK_SPEED, "msctls_trackbar32",TBS_AUTOTICKS | WS_TABSTOP, 60, 120, 70, 17
-  CONTROL  "", IDC_IMAGE_DOUBLE_CLICK_SPEED, "Static", SS_ICON | SS_NOTIFY | SS_CENTERIMAGE | WS_VISIBLE, 165, 85, 65, 57, WS_EX_STATICEDGE
+  CONTROL "", IDC_IMAGE_DOUBLE_CLICK_SPEED, "Static", SS_ICON | SS_NOTIFY | SS_CENTERIMAGE | WS_VISIBLE, 165, 85, 65, 57, WS_EX_STATICEDGE
   GROUPBOX "KlickEinrasten", -1, 5, 150, 230, 70
   CHECKBOX "&KlickEinrasten aktivieren", IDC_CHECK_CLICK_LOCK, 10, 160, 91, 20
   PUSHBUTTON "&Einstellungen...", IDC_BUTTON_CLICK_LOCK, 167, 160, 60, 14
@@ -76,11 +76,11 @@
 BEGIN
   GROUPBOX "S&chema", -1, 5, 5, 170, 45
   COMBOBOX IDC_COMBO_CURSOR_SCHEME, 10, 15, 145, 200, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP
-  CONTROL "", IDC_LISTVIEW_CURSOR ,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_NOCOLUMNHEADER | LVS_SHAREIMAGELISTS | WS_BORDER | WS_TABSTOP, 5, 70, 230, 120
   PUSHBUTTON "Speichern &unter...", IDC_BUTTON_SAVEAS_SCHEME, 55, 30, 65, 15
   PUSHBUTTON "&Löschen", IDC_BUTTON_DELETE_SCHEME, 125, 30, 40, 15
-  CONTROL  "", IDC_IMAGE_CURRENT_CURSOR, "Static", SS_OWNERDRAW, 195, 15, 35, 35, WS_EX_STATICEDGE
+  CONTROL "", IDC_IMAGE_CURRENT_CURSOR, "Static", SS_ICON | SS_CENTERIMAGE | WS_VISIBLE, 190, 9, 45, 41, WS_EX_STATICEDGE
   LTEXT "An&passen:", -1, 5, 60, 40, 10
+  LISTBOX IDC_LISTBOX_CURSOR, 5, 70, 230, 120, WS_VISIBLE | WS_BORDER | WS_TABSTOP | WS_VSCROLL | LBS_OWNERDRAWFIXED | LBS_NOTIFY
   CHECKBOX "Zeigerschatten &aktivieren", IDC_CHECK_DROP_SHADOW, 5, 200, 95, 10
   PUSHBUTTON "&Standard verwenden", IDC_BUTTON_USE_DEFAULT_CURSOR, 99, 200, 73, 15
   PUSHBUTTON "&Durchsuchen...", IDC_BUTTON_BROWSE_CURSOR, 175, 200, 56, 15
@@ -96,7 +96,6 @@
   PUSHBUTTON "&OK", IDOK, 60, 45, 50, 15
   PUSHBUTTON "&Abbrechen", IDCANCEL, 115, 45, 50, 15
 END
-
 
 IDD_PAGE_OPTION DIALOGEX 0, 0, 246, 228
 STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_CAPTION
@@ -135,7 +134,7 @@
   LTEXT "Durch Drehen des Rades um eine Einbuchtung wird ein Bildlauf durchgeführt um:", -1, 60, 11, 150, 16
   CONTROL "&Folgende Anzahl Zeilen:", IDC_RADIO_WHEEL_SCROLL_LINES, "Button", 0x50010009, 60, 30, 150, 10
   EDITTEXT IDC_EDIT_WHEEL_SCROLL_LINES, 60, 45, 60, 15,ES_RIGHT | WS_GROUP 
-  CONTROL   "", IDC_UPDOWN_WHEEL_SCROLL_LINES, UPDOWN_CLASS,UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | WS_BORDER | WS_GROUP, 115, 45, 12, 12
+  CONTROL "", IDC_UPDOWN_WHEEL_SCROLL_LINES, UPDOWN_CLASS, UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | WS_BORDER | WS_GROUP, 115, 45, 12, 12
   CONTROL "&Eine Bildschirmseite", IDC_RADIO_WHEEL_SCROLL_PAGE, "Button", 0x50010009, 60, 65, 90, 10
   ICON -1, IDC_ICON_WHEEL, 20, 35, 15, 15
 END
@@ -156,6 +155,7 @@
   IDS_NWPEN "Handschrift"
   IDS_NO "Nicht verfügbar"
   IDS_SIZENS "Vertikale Größenänderung"
+  IDS_SIZEWE "Horizontale Größenänderung"
   IDS_SIZENWSE "Diagonale Größenänderung 1"
   IDS_SIZENESW "Diagonale Größenänderung 2"
   IDS_SIZEALL "Verschieben"

Modified: trunk/reactos/dll/cpl/main/lang/en-US.rc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/main/lang/en-US.rc?rev=26368&r1=26367&r2=26368&view=diff
==============================================================================
--- trunk/reactos/dll/cpl/main/lang/en-US.rc (original)
+++ trunk/reactos/dll/cpl/main/lang/en-US.rc Tue Apr 17 14:41:07 2007
@@ -74,11 +74,11 @@
 BEGIN
   GROUPBOX "Scheme", -1, 5, 5, 170, 45
   COMBOBOX IDC_COMBO_CURSOR_SCHEME, 10, 15, 145, 200, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP
-  CONTROL "", IDC_LISTVIEW_CURSOR ,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_NOCOLUMNHEADER | LVS_SHAREIMAGELISTS | WS_BORDER | WS_TABSTOP, 5, 70, 230, 120
   PUSHBUTTON "Sa&ve As...", IDC_BUTTON_SAVEAS_SCHEME, 70, 30, 50, 15
   PUSHBUTTON "&Delete", IDC_BUTTON_DELETE_SCHEME, 125, 30, 40, 15
-  CONTROL  "", IDC_IMAGE_CURRENT_CURSOR, "Static", SS_OWNERDRAW, 195, 15, 35, 35, WS_EX_STATICEDGE
+  CONTROL "", IDC_IMAGE_CURRENT_CURSOR, "Static", SS_ICON | SS_CENTERIMAGE | WS_VISIBLE, 190, 9, 45, 41, WS_EX_STATICEDGE
   LTEXT "&Customize", -1, 5, 60, 40, 10
+  LISTBOX IDC_LISTBOX_CURSOR, 5, 70, 230, 120, WS_VISIBLE | WS_BORDER | WS_TABSTOP | WS_VSCROLL | LBS_OWNERDRAWFIXED | LBS_NOTIFY
   CHECKBOX "&Enable pointer shadow", IDC_CHECK_DROP_SHADOW, 5, 200, 100, 10
   PUSHBUTTON "Use De&fault", IDC_BUTTON_USE_DEFAULT_CURSOR, 120, 200, 50, 15
   PUSHBUTTON "&Browse", IDC_BUTTON_BROWSE_CURSOR, 175, 200, 50, 15
@@ -153,6 +153,7 @@
   IDS_NWPEN "Handwriting"
   IDS_NO "Unavailable"
   IDS_SIZENS "Vertical Resize"
+  IDS_SIZEWE "Horizontal Resize"
   IDS_SIZENWSE "Diagonal Resize 1"
   IDS_SIZENESW "Diagonal Resize 2"
   IDS_SIZEALL "Move"

Modified: trunk/reactos/dll/cpl/main/lang/es-ES.rc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/main/lang/es-ES.rc?rev=26368&r1=26367&r2=26368&view=diff
==============================================================================
--- trunk/reactos/dll/cpl/main/lang/es-ES.rc (original)
+++ trunk/reactos/dll/cpl/main/lang/es-ES.rc Tue Apr 17 14:41:07 2007
@@ -74,11 +74,11 @@
 BEGIN
   GROUPBOX "Scheme", -1, 5, 5, 170, 45
   COMBOBOX IDC_COMBO_CURSOR_SCHEME, 10, 15, 145, 200, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP
-  CONTROL "", IDC_LISTVIEW_CURSOR ,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_NOCOLUMNHEADER | LVS_SHAREIMAGELISTS | WS_BORDER | WS_TABSTOP, 5, 70, 230, 120
   PUSHBUTTON "Sa&ve As...", IDC_BUTTON_SAVEAS_SCHEME, 70, 30, 50, 15
   PUSHBUTTON "&Delete", IDC_BUTTON_DELETE_SCHEME, 125, 30, 40, 15
-  CONTROL  "", IDC_IMAGE_CURRENT_CURSOR, "Static", SS_OWNERDRAW, 195, 15, 35, 35, WS_EX_STATICEDGE
+  CONTROL "", IDC_IMAGE_CURRENT_CURSOR, "Static", SS_ICON | SS_CENTERIMAGE | WS_VISIBLE, 190, 9, 45, 41, WS_EX_STATICEDGE
   LTEXT "&Customize", -1, 5, 60, 40, 10
+  LISTBOX IDC_LISTBOX_CURSOR, 5, 70, 230, 120, WS_VISIBLE | WS_BORDER | WS_TABSTOP | WS_VSCROLL | LBS_OWNERDRAWFIXED | LBS_NOTIFY
   CHECKBOX "&Enable pointer shadow", IDC_CHECK_DROP_SHADOW, 5, 200, 100, 10
   PUSHBUTTON "Use De&fault", IDC_BUTTON_USE_DEFAULT_CURSOR, 120, 200, 50, 15
   PUSHBUTTON "&Browse", IDC_BUTTON_BROWSE_CURSOR, 175, 200, 50, 15
@@ -154,6 +154,7 @@
   IDS_NWPEN "Handwriting"
   IDS_NO "Unavailable"
   IDS_SIZENS "Vertical Resize"
+  IDS_SIZEWE "Horizontal Resize"
   IDS_SIZENWSE "Diagonal Resize 1"
   IDS_SIZENESW "Diagonal Resize 2"
   IDS_SIZEALL "Move"

Modified: trunk/reactos/dll/cpl/main/lang/fr-FR.rc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/main/lang/fr-FR.rc?rev=26368&r1=26367&r2=26368&view=diff
==============================================================================
--- trunk/reactos/dll/cpl/main/lang/fr-FR.rc (original)
+++ trunk/reactos/dll/cpl/main/lang/fr-FR.rc Tue Apr 17 14:41:07 2007
@@ -74,11 +74,11 @@
 BEGIN
   GROUPBOX "Profil", -1, 5, 5, 170, 45
   COMBOBOX IDC_COMBO_CURSOR_SCHEME, 10, 15, 145, 200, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP
-  CONTROL "", IDC_LISTVIEW_CURSOR ,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_NOCOLUMNHEADER | LVS_SHAREIMAGELISTS | WS_BORDER | WS_TABSTOP, 5, 70, 230, 120
   PUSHBUTTON "Sa&uver...", IDC_BUTTON_SAVEAS_SCHEME, 70, 30, 50, 15
   PUSHBUTTON "&Effacer", IDC_BUTTON_DELETE_SCHEME, 125, 30, 40, 15
-  CONTROL  "", IDC_IMAGE_CURRENT_CURSOR, "Static", SS_OWNERDRAW, 195, 15, 35, 35, WS_EX_STATICEDGE
+  CONTROL "", IDC_IMAGE_CURRENT_CURSOR, "Static", SS_ICON | SS_CENTERIMAGE | WS_VISIBLE, 190, 9, 45, 41, WS_EX_STATICEDGE
   LTEXT "&Modifier", -1, 5, 60, 40, 10
+  LISTBOX IDC_LISTBOX_CURSOR, 5, 70, 230, 120, WS_VISIBLE | WS_BORDER | WS_TABSTOP | WS_VSCROLL | LBS_OWNERDRAWFIXED | LBS_NOTIFY
   CHECKBOX "&Afficher l'ombre du curseur", IDC_CHECK_DROP_SHADOW, 5, 200, 100, 10
   PUSHBUTTON "Par dé&faut", IDC_BUTTON_USE_DEFAULT_CURSOR, 120, 200, 50, 15
   PUSHBUTTON "&Choisir", IDC_BUTTON_BROWSE_CURSOR, 175, 200, 50, 15
@@ -154,6 +154,7 @@
   IDS_NWPEN "Écriture"
   IDS_NO "Indisponible"
   IDS_SIZENS "Redimensionnement vertical"
+  IDS_SIZEWE "Horizontal Resize"
   IDS_SIZENWSE "Redimensionnement en diagonale 1"
   IDS_SIZENESW "Redimensionnement en diagonale 2"
   IDS_SIZEALL "Déplacer"

Modified: trunk/reactos/dll/cpl/main/lang/hu-HU.rc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/main/lang/hu-HU.rc?rev=26368&r1=26367&r2=26368&view=diff
==============================================================================
--- trunk/reactos/dll/cpl/main/lang/hu-HU.rc (original)
+++ trunk/reactos/dll/cpl/main/lang/hu-HU.rc Tue Apr 17 14:41:07 2007
@@ -74,11 +74,11 @@
 BEGIN
   GROUPBOX "Scheme", -1, 5, 5, 170, 45
   COMBOBOX IDC_COMBO_CURSOR_SCHEME, 10, 15, 145, 200, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP
-  CONTROL "", IDC_LISTVIEW_CURSOR ,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_NOCOLUMNHEADER | LVS_SHAREIMAGELISTS | WS_BORDER | WS_TABSTOP, 5, 70, 230, 120
   PUSHBUTTON "Sa&ve As...", IDC_BUTTON_SAVEAS_SCHEME, 70, 30, 50, 15
   PUSHBUTTON "&Delete", IDC_BUTTON_DELETE_SCHEME, 125, 30, 40, 15
-  CONTROL  "", IDC_IMAGE_CURRENT_CURSOR, "Static", SS_OWNERDRAW, 195, 15, 35, 35, WS_EX_STATICEDGE
+  CONTROL "", IDC_IMAGE_CURRENT_CURSOR, "Static", SS_ICON | SS_CENTERIMAGE | WS_VISIBLE, 190, 9, 45, 41, WS_EX_STATICEDGE
   LTEXT "&Customize", -1, 5, 60, 40, 10
+  LISTBOX IDC_LISTBOX_CURSOR, 5, 70, 230, 120, WS_VISIBLE | WS_BORDER | WS_TABSTOP | WS_VSCROLL | LBS_OWNERDRAWFIXED | LBS_NOTIFY
   CHECKBOX "&Enable pointer shadow", IDC_CHECK_DROP_SHADOW, 5, 200, 100, 10
   PUSHBUTTON "Use De&fault", IDC_BUTTON_USE_DEFAULT_CURSOR, 120, 200, 50, 15
   PUSHBUTTON "&Browse", IDC_BUTTON_BROWSE_CURSOR, 175, 200, 50, 15
@@ -154,6 +154,7 @@
   IDS_NWPEN "Handwriting"
   IDS_NO "Unavailable"
   IDS_SIZENS "Vertical Resize"
+  IDS_SIZEWE "Horizontal Resize"
   IDS_SIZENWSE "Diagonal Resize 1"
   IDS_SIZENESW "Diagonal Resize 2"
   IDS_SIZEALL "Move"

Modified: trunk/reactos/dll/cpl/main/lang/id-ID.rc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/main/lang/id-ID.rc?rev=26368&r1=26367&r2=26368&view=diff
==============================================================================
--- trunk/reactos/dll/cpl/main/lang/id-ID.rc (original)
+++ trunk/reactos/dll/cpl/main/lang/id-ID.rc Tue Apr 17 14:41:07 2007
@@ -74,11 +74,11 @@
 BEGIN
   GROUPBOX "Skema", -1, 5, 5, 170, 45
   COMBOBOX IDC_COMBO_CURSOR_SCHEME, 10, 15, 145, 200, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP
-  CONTROL "", IDC_LISTVIEW_CURSOR ,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_NOCOLUMNHEADER | LVS_SHAREIMAGELISTS | WS_BORDER | WS_TABSTOP, 5, 70, 230, 120
   PUSHBUTTON "Simpan Seba&gai...", IDC_BUTTON_SAVEAS_SCHEME, 70, 30, 50, 15
   PUSHBUTTON "&Hapus", IDC_BUTTON_DELETE_SCHEME, 125, 30, 40, 15
-  CONTROL  "", IDC_IMAGE_CURRENT_CURSOR, "Static", SS_OWNERDRAW, 195, 15, 35, 35, WS_EX_STATICEDGE
+  CONTROL "", IDC_IMAGE_CURRENT_CURSOR, "Static", SS_ICON | SS_CENTERIMAGE | WS_VISIBLE, 190, 9, 45, 41, WS_EX_STATICEDGE
   LTEXT "&Kustomisasi", -1, 5, 60, 40, 10
+  LISTBOX IDC_LISTBOX_CURSOR, 5, 70, 230, 120, WS_VISIBLE | WS_BORDER | WS_TABSTOP | WS_VSCROLL | LBS_OWNERDRAWFIXED | LBS_NOTIFY
   CHECKBOX "Hidupkan ba&yangan pointer", IDC_CHECK_DROP_SHADOW, 5, 200, 100, 10
   PUSHBUTTON "Gunakan Standa&r", IDC_BUTTON_USE_DEFAULT_CURSOR, 120, 200, 50, 15
   PUSHBUTTON "&Lihat", IDC_BUTTON_BROWSE_CURSOR, 175, 200, 50, 15
@@ -153,6 +153,7 @@
   IDS_NWPEN "Tulisan tangan"
   IDS_NO "Tidak tersedia"
   IDS_SIZENS "Ukur ulang Vertikal"
+  IDS_SIZEWE "Horizontal Resize"
   IDS_SIZENWSE "Ukur ulang Diagonal 1"
   IDS_SIZENESW "Ukur ulang Diagonal 2"
   IDS_SIZEALL "Pindah"

Modified: trunk/reactos/dll/cpl/main/lang/it-IT.rc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/main/lang/it-IT.rc?rev=26368&r1=26367&r2=26368&view=diff
==============================================================================
--- trunk/reactos/dll/cpl/main/lang/it-IT.rc (original)
+++ trunk/reactos/dll/cpl/main/lang/it-IT.rc Tue Apr 17 14:41:07 2007
@@ -76,11 +76,11 @@
 BEGIN
   GROUPBOX "Schema", -1, 5, 5, 170, 45
   COMBOBOX IDC_COMBO_CURSOR_SCHEME, 10, 15, 145, 200, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP
-  CONTROL "", IDC_LISTVIEW_CURSOR ,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_NOCOLUMNHEADER | LVS_SHAREIMAGELISTS | WS_BORDER | WS_TABSTOP, 5, 70, 230, 120
   PUSHBUTTON "Salva come...", IDC_BUTTON_SAVEAS_SCHEME, 70, 30, 50, 15
   PUSHBUTTON "&Cancella", IDC_BUTTON_DELETE_SCHEME, 125, 30, 40, 15
-  CONTROL  "", IDC_IMAGE_CURRENT_CURSOR, "Static", SS_OWNERDRAW, 195, 15, 35, 35, WS_EX_STATICEDGE
+  CONTROL "", IDC_IMAGE_CURRENT_CURSOR, "Static", SS_ICON | SS_CENTERIMAGE | WS_VISIBLE, 190, 9, 45, 41, WS_EX_STATICEDGE
   LTEXT "&Personalizza", -1, 5, 60, 40, 10
+  LISTBOX IDC_LISTBOX_CURSOR, 5, 70, 230, 120, WS_VISIBLE | WS_BORDER | WS_TABSTOP | WS_VSCROLL | LBS_OWNERDRAWFIXED | LBS_NOTIFY
   CHECKBOX "&Abilita l'ombra del puntatore", IDC_CHECK_DROP_SHADOW, 5, 200, 100, 10
   PUSHBUTTON "Usa predefinito", IDC_BUTTON_USE_DEFAULT_CURSOR, 120, 200, 50, 15
   PUSHBUTTON "&Esplora", IDC_BUTTON_BROWSE_CURSOR, 175, 200, 50, 15
@@ -155,6 +155,7 @@
   IDS_NWPEN "Scrittura manuale"
   IDS_NO "Non disponibile"
   IDS_SIZENS "Ridimensiona in verticale"
+  IDS_SIZEWE "Horizontal Resize"
   IDS_SIZENWSE "Ridimensiona in Diagonale 1"
   IDS_SIZENESW "Ridimensiona in Diagonale 2"
   IDS_SIZEALL "Muovi"

Modified: trunk/reactos/dll/cpl/main/lang/ja-JP.rc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/main/lang/ja-JP.rc?rev=26368&r1=26367&r2=26368&view=diff
==============================================================================
--- trunk/reactos/dll/cpl/main/lang/ja-JP.rc (original)
+++ trunk/reactos/dll/cpl/main/lang/ja-JP.rc Tue Apr 17 14:41:07 2007
@@ -74,11 +74,11 @@
 BEGIN
   GROUPBOX "Scheme", -1, 5, 5, 170, 45
   COMBOBOX IDC_COMBO_CURSOR_SCHEME, 10, 15, 145, 200, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP
-  CONTROL "", IDC_LISTVIEW_CURSOR ,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_NOCOLUMNHEADER | LVS_SHAREIMAGELISTS | WS_BORDER | WS_TABSTOP, 5, 70, 230, 120
   PUSHBUTTON "Sa&ve As...", IDC_BUTTON_SAVEAS_SCHEME, 70, 30, 50, 15
   PUSHBUTTON "&Delete", IDC_BUTTON_DELETE_SCHEME, 125, 30, 40, 15
-  CONTROL  "", IDC_IMAGE_CURRENT_CURSOR, "Static", SS_OWNERDRAW, 195, 15, 35, 35, WS_EX_STATICEDGE
+  CONTROL "", IDC_IMAGE_CURRENT_CURSOR, "Static", SS_ICON | SS_CENTERIMAGE | WS_VISIBLE, 190, 9, 45, 41, WS_EX_STATICEDGE
   LTEXT "&Customize", -1, 5, 60, 40, 10
+  LISTBOX IDC_LISTBOX_CURSOR, 5, 70, 230, 120, WS_VISIBLE | WS_BORDER | WS_TABSTOP | WS_VSCROLL | LBS_OWNERDRAWFIXED | LBS_NOTIFY
   CHECKBOX "&Enable pointer shadow", IDC_CHECK_DROP_SHADOW, 5, 200, 100, 10
   PUSHBUTTON "Use De&fault", IDC_BUTTON_USE_DEFAULT_CURSOR, 120, 200, 50, 15
   PUSHBUTTON "&Browse", IDC_BUTTON_BROWSE_CURSOR, 175, 200, 50, 15
@@ -153,6 +153,7 @@
   IDS_NWPEN "Handwriting"
   IDS_NO "Unavailable"
   IDS_SIZENS "Vertical Resize"
+  IDS_SIZEWE "Horizontal Resize"
   IDS_SIZENWSE "Diagonal Resize 1"
   IDS_SIZENESW "Diagonal Resize 2"
   IDS_SIZEALL "Move"

Modified: trunk/reactos/dll/cpl/main/lang/nl-NL.rc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/main/lang/nl-NL.rc?rev=26368&r1=26367&r2=26368&view=diff
==============================================================================
--- trunk/reactos/dll/cpl/main/lang/nl-NL.rc (original)
+++ trunk/reactos/dll/cpl/main/lang/nl-NL.rc Tue Apr 17 14:41:07 2007
@@ -73,11 +73,11 @@
 BEGIN
   GROUPBOX "Scheme", -1, 5, 5, 170, 45
   COMBOBOX IDC_COMBO_CURSOR_SCHEME, 10, 15, 145, 200, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP
-  CONTROL "", IDC_LISTVIEW_CURSOR ,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_NOCOLUMNHEADER | LVS_SHAREIMAGELISTS | WS_BORDER | WS_TABSTOP, 5, 70, 230, 120
   PUSHBUTTON "Sa&ve As...", IDC_BUTTON_SAVEAS_SCHEME, 70, 30, 50, 15
   PUSHBUTTON "&Delete", IDC_BUTTON_DELETE_SCHEME, 125, 30, 40, 15
-  CONTROL  "", IDC_IMAGE_CURRENT_CURSOR, "Static", SS_OWNERDRAW, 195, 15, 35, 35, WS_EX_STATICEDGE
+  CONTROL "", IDC_IMAGE_CURRENT_CURSOR, "Static", SS_ICON | SS_CENTERIMAGE | WS_VISIBLE, 190, 9, 45, 41, WS_EX_STATICEDGE
   LTEXT "&Customize", -1, 5, 60, 40, 10
+  LISTBOX IDC_LISTBOX_CURSOR, 5, 70, 230, 120, WS_VISIBLE | WS_BORDER | WS_TABSTOP | WS_VSCROLL | LBS_OWNERDRAWFIXED | LBS_NOTIFY
   CHECKBOX "&Enable pointer shadow", IDC_CHECK_DROP_SHADOW, 5, 200, 100, 10
   PUSHBUTTON "Use De&fault", IDC_BUTTON_USE_DEFAULT_CURSOR, 120, 200, 50, 15
   PUSHBUTTON "&Browse", IDC_BUTTON_BROWSE_CURSOR, 175, 200, 50, 15
@@ -152,6 +152,7 @@
   IDS_NWPEN "Handwriting"
   IDS_NO "Unavailable"
   IDS_SIZENS "Vertical Resize"
+  IDS_SIZEWE "Horizontal Resize"
   IDS_SIZENWSE "Diagonal Resize 1"
   IDS_SIZENESW "Diagonal Resize 2"
   IDS_SIZEALL "Move"

Modified: trunk/reactos/dll/cpl/main/lang/ru-RU.rc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/main/lang/ru-RU.rc?rev=26368&r1=26367&r2=26368&view=diff
==============================================================================
--- trunk/reactos/dll/cpl/main/lang/ru-RU.rc (original)
+++ trunk/reactos/dll/cpl/main/lang/ru-RU.rc Tue Apr 17 14:41:07 2007
@@ -74,11 +74,11 @@
 BEGIN
   GROUPBOX "Scheme", -1, 5, 5, 170, 45
   COMBOBOX IDC_COMBO_CURSOR_SCHEME, 10, 15, 145, 200, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP
-  CONTROL "", IDC_LISTVIEW_CURSOR ,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_NOCOLUMNHEADER | LVS_SHAREIMAGELISTS | WS_BORDER | WS_TABSTOP, 5, 70, 230, 120
   PUSHBUTTON "Sa&ve As...", IDC_BUTTON_SAVEAS_SCHEME, 70, 30, 50, 15
   PUSHBUTTON "&Delete", IDC_BUTTON_DELETE_SCHEME, 125, 30, 40, 15
-  CONTROL  "", IDC_IMAGE_CURRENT_CURSOR, "Static", SS_OWNERDRAW, 195, 15, 35, 35, WS_EX_STATICEDGE
+  CONTROL "", IDC_IMAGE_CURRENT_CURSOR, "Static", SS_ICON | SS_CENTERIMAGE | WS_VISIBLE, 190, 9, 45, 41, WS_EX_STATICEDGE
   LTEXT "&Customize", -1, 5, 60, 40, 10
+  LISTBOX IDC_LISTBOX_CURSOR, 5, 70, 230, 120, WS_VISIBLE | WS_BORDER | WS_TABSTOP | WS_VSCROLL | LBS_OWNERDRAWFIXED | LBS_NOTIFY
   CHECKBOX "&Enable pointer shadow", IDC_CHECK_DROP_SHADOW, 5, 200, 100, 10
   PUSHBUTTON "Use De&fault", IDC_BUTTON_USE_DEFAULT_CURSOR, 120, 200, 50, 15
   PUSHBUTTON "&Browse", IDC_BUTTON_BROWSE_CURSOR, 175, 200, 50, 15
@@ -154,6 +154,7 @@
   IDS_NWPEN "Handwriting"
   IDS_NO "Unavailable"
   IDS_SIZENS "Vertical Resize"
+  IDS_SIZEWE "Horizontal Resize"
   IDS_SIZENWSE "Diagonal Resize 1"
   IDS_SIZENESW "Diagonal Resize 2"
   IDS_SIZEALL "Move"

Modified: trunk/reactos/dll/cpl/main/lang/uk-UA.rc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/main/lang/uk-UA.rc?rev=26368&r1=26367&r2=26368&view=diff
==============================================================================
--- trunk/reactos/dll/cpl/main/lang/uk-UA.rc (original)
+++ trunk/reactos/dll/cpl/main/lang/uk-UA.rc Tue Apr 17 14:41:07 2007
@@ -82,11 +82,11 @@
 BEGIN
   GROUPBOX "Ñõåìà", -1, 5, 5, 170, 45
   COMBOBOX IDC_COMBO_CURSOR_SCHEME, 10, 15, 145, 200, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP
-  CONTROL "", IDC_LISTVIEW_CURSOR ,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_NOCOLUMNHEADER | LVS_SHAREIMAGELISTS | WS_BORDER | WS_TABSTOP, 5, 70, 230, 120
   PUSHBUTTON "Çáåðåãòè &ÿê...", IDC_BUTTON_SAVEAS_SCHEME, 70, 30, 50, 15
   PUSHBUTTON "Â&èäàëèòè", IDC_BUTTON_DELETE_SCHEME, 125, 30, 40, 15
-  CONTROL  "", IDC_IMAGE_CURRENT_CURSOR, "Static", SS_OWNERDRAW, 195, 15, 35, 35, WS_EX_STATICEDGE
+  CONTROL "", IDC_IMAGE_CURRENT_CURSOR, "Static", SS_ICON | SS_CENTERIMAGE | WS_VISIBLE, 190, 9, 45, 41, WS_EX_STATICEDGE
   LTEXT "&Íàëàøòóâàííÿ", -1, 5, 60, 40, 10
+  LISTBOX IDC_LISTBOX_CURSOR, 5, 70, 230, 120, WS_VISIBLE | WS_BORDER | WS_TABSTOP | WS_VSCROLL | LBS_OWNERDRAWFIXED | LBS_NOTIFY
   CHECKBOX "&Ââ³ìêíóòè &ò³íü âêàç³âíèêà", IDC_CHECK_DROP_SHADOW, 5, 200, 100, 10
   PUSHBUTTON "&Çà çàìîâ÷óâàííÿì", IDC_BUTTON_USE_DEFAULT_CURSOR, 120, 200, 50, 15
   PUSHBUTTON "&Îãëÿä", IDC_BUTTON_BROWSE_CURSOR, 175, 200, 50, 15
@@ -161,6 +161,7 @@
   IDS_NWPEN "Ðóêîïèñíå ââåäåííÿ"
   IDS_NO "Îïåðàö³ÿ íåìîæëèâà"
   IDS_SIZENS "Çì³íà âåðòèêàëüíèõ ðîçì³ð³â"
+  IDS_SIZEWE "Horizontal Resize"
   IDS_SIZENWSE "Çì³íà ðîçì³ð³â ïî ä³àãîíàë³ 1"
   IDS_SIZENESW "Çì³íà ðîçì³ð³â ïî ä³àãîíàë³ 2"
   IDS_SIZEALL "Ïåðåì³ùåííÿ"

Modified: trunk/reactos/dll/cpl/main/mouse.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/main/mouse.c?rev=26368&r1=26367&r2=26368&view=diff
==============================================================================
--- trunk/reactos/dll/cpl/main/mouse.c (original)
+++ trunk/reactos/dll/cpl/main/mouse.c Tue Apr 17 14:41:07 2007
@@ -105,6 +105,34 @@
 } WHEEL_DATA, *PWHEEL_DATA;
 
 
+typedef struct _CURSOR_DATA
+{
+    UINT uStringId;
+    LPWSTR uDefaultCursorId;
+    HCURSOR hCursor;
+    TCHAR szCursorName[MAX_PATH];
+    TCHAR szCursorPath[MAX_PATH];
+} CURSOR_DATA, *PCURSOR_DATA;
+
+
+CURSOR_DATA g_CursorData[] =
+{{IDS_ARROW,       IDC_ARROW,       0, _T(""), _T("")},
+ {IDS_HELP,        IDC_HELP,        0, _T(""), _T("")},
+ {IDS_APPSTARTING, IDC_APPSTARTING, 0, _T(""), _T("")},
+ {IDS_WAIT,        IDC_WAIT,        0, _T(""), _T("")},
+ {IDS_CROSSHAIR,   IDC_CROSS,       0, _T(""), _T("")},
+ {IDS_IBEAM,       IDC_IBEAM,       0, _T(""), _T("")},
+ {IDS_NWPEN,       0/*IDC_NWPEN*/,       0, _T(""), _T("")},
+ {IDS_NO,          IDC_NO,          0, _T(""), _T("")},
+ {IDS_SIZENS,      IDC_SIZENS,      0, _T(""), _T("")},
+ {IDS_SIZEWE,      IDC_SIZEWE,      0, _T(""), _T("")},
+ {IDS_SIZENWSE,    IDC_SIZENWSE,    0, _T(""), _T("")},
+ {IDS_SIZENESW,    IDC_SIZENESW,    0, _T(""), _T("")},
+ {IDS_SIZEALL,     IDC_SIZEALL,     0, _T(""), _T("")},
+ {IDS_UPARROW,     IDC_UPARROW,     0, _T(""), _T("")},
+ {IDS_HAND,        IDC_HAND,        0, _T(""), _T("")}};
+
+
 TCHAR g_CurrentScheme[MAX_PATH];
 TCHAR g_szArrow[MAX_PATH];
 TCHAR g_szHelp[MAX_PATH];
@@ -123,6 +151,8 @@
 TCHAR g_szHand[MAX_PATH];
 
 TCHAR g_szNewScheme[MAX_PATH];
+
+
 
 
 /* Property page dialog callback */
@@ -554,12 +584,13 @@
 static VOID
 RefreshCursorList(HWND hwndDlg)
 {
-    TCHAR szCursorName[MAX_PATH];
-    HWND hDlgCtrl;
-    LV_ITEM listItem;
-    LV_COLUMN column;
-    INT index = 0;
-
+//    TCHAR szCursorName[MAX_PATH];
+//    HWND hDlgCtrl;
+//    LV_ITEM listItem;
+//    LV_COLUMN column;
+    INT index = 0, i;
+
+#if 0
     hDlgCtrl = GetDlgItem(hwndDlg, IDC_LISTVIEW_CURSOR);
     (void)ListView_DeleteAllItems(hDlgCtrl);
 
@@ -634,6 +665,14 @@
     LoadString(hApplet, IDS_HAND, szCursorName, MAX_PATH);
     listItem.iItem      = index++;
     (void)ListView_InsertItem(hDlgCtrl, &listItem);
+#endif
+
+    SendDlgItemMessage(hwndDlg, IDC_LISTBOX_CURSOR, LB_RESETCONTENT, 0, 0);
+    for (index = IDS_ARROW, i = 0; index <= IDS_HAND; index++, i++)
+    {
+        LoadString(hApplet, index, g_CursorData[i].szCursorName, MAX_PATH);
+        SendDlgItemMessage(hwndDlg, IDC_LISTBOX_CURSOR, LB_ADDSTRING, 0, (LPARAM)i);
+    }
 }
 
 
@@ -720,6 +759,7 @@
 static VOID
 LoadCurrentCursorScheme(LPTSTR lpName, BOOL bSystem)
 {
+#if 0
     HKEY hCursorKey;
     TCHAR szValue[2048];
     TCHAR szRaw[256];
@@ -803,6 +843,85 @@
             }
         }
     }
+#endif
+
+    UINT index, i;
+
+    for (index = IDS_ARROW, i = 0; index <= IDS_HAND; index++, i++)
+    {
+        if (g_CursorData[i].hCursor != NULL)
+        {
+            DestroyCursor(g_CursorData[i].hCursor);
+            g_CursorData[i].hCursor = 0;
+        }
+    }
+
+    if (lpName == NULL)
+    {
+        for (index = IDS_ARROW, i = 0; index <= IDS_HAND; index++, i++)
+        {
+            g_CursorData[i].hCursor = LoadCursor(NULL, g_CursorData[i].uDefaultCursorId);
+        }
+    }
+    else
+    {
+
+    }
+}
+
+
+static VOID
+OnDrawItem(UINT idCtl,
+           LPDRAWITEMSTRUCT lpdis)
+{
+    RECT rc;
+
+    if (lpdis->itemState & ODS_SELECTED)
+    {
+        FillRect(lpdis->hDC,
+                 &lpdis->rcItem,
+                 (HBRUSH)(COLOR_HIGHLIGHT + 1));
+        SetBkColor(lpdis->hDC,
+                   GetSysColor(COLOR_HIGHLIGHT));
+        SetTextColor(lpdis->hDC,
+                   GetSysColor(COLOR_HIGHLIGHTTEXT));
+    }
+    else
+    {
+        FillRect(lpdis->hDC,
+                 &lpdis->rcItem,
+                 (HBRUSH)(COLOR_WINDOW + 1));
+        SetBkColor(lpdis->hDC,
+                   GetSysColor(COLOR_WINDOW));
+        SetTextColor(lpdis->hDC,
+                   GetSysColor(COLOR_WINDOWTEXT));
+    }
+
+    if (lpdis->itemID != -1)
+    {
+        CopyRect(&rc, &lpdis->rcItem);
+        rc.left += 5;
+        DrawText(lpdis->hDC,
+                 g_CursorData[lpdis->itemData].szCursorName,
+                 -1,
+                 &rc,
+                 DT_SINGLELINE | DT_VCENTER | DT_LEFT);
+
+        if (g_CursorData[lpdis->itemData].hCursor != NULL)
+        {
+            DrawIcon(lpdis->hDC,
+                     lpdis->rcItem.right - 32 - 4,
+                     lpdis->rcItem.top + 2,
+                     g_CursorData[lpdis->itemData].hCursor);
+        }
+    }
+
+    if (lpdis->itemState & ODS_FOCUS)
+    {
+        CopyRect(&rc, &lpdis->rcItem);
+        InflateRect(&rc, -1, -1);
+        DrawFocusRect(lpdis->hDC, &rc);
+    }
 }
 
 
@@ -832,6 +951,7 @@
 
             EnumerateCursorSchemes(hwndDlg);
             RefreshCursorList(hwndDlg);
+            SendDlgItemMessage(hwndDlg, IDC_LISTBOX_CURSOR, LB_SETCURSEL, 0, 0);
 
             /* Get drop shadow setting */
             if (!SystemParametersInfo(SPI_GETDROPSHADOW, 0, &pPointerData->bDropShadow, 0))
@@ -845,10 +965,19 @@
                 SendMessage(hDlgCtrl, BM_SETCHECK, (WPARAM)BST_CHECKED, (LPARAM)0);
             }
 
-            if ((INT)wParam == IDC_LISTVIEW_CURSOR)
+            if ((INT)wParam == IDC_LISTBOX_CURSOR)
                 return TRUE;
             else
                 return FALSE;
+
+        case WM_MEASUREITEM:
+            ((LPMEASUREITEMSTRUCT)lParam)->itemHeight = 32 + 4;
+            break;
+
+        case WM_DRAWITEM:
+            if (wParam == IDC_LISTBOX_CURSOR)
+                OnDrawItem((UINT)wParam, (LPDRAWITEMSTRUCT)lParam);
+            return TRUE;
 
         case WM_DESTROY:
             HeapFree(GetProcessHeap(), 0, pPointerData);
@@ -873,35 +1002,48 @@
             break;
 
         case WM_COMMAND:
-            switch(HIWORD(wParam))
-            {
-                case CBN_SELENDOK:
-                {
-                    BOOL bEnable;
-                    LPTSTR lpName;
-
-                    wParam = SendMessage((HWND)lParam, CB_GETCURSEL, 0, 0);
-                    if(wParam == CB_ERR)
-                        break;
-                    SendMessage((HWND)lParam, CB_GETLBTEXT, wParam, (LPARAM)buffer);
-                    LoadString(hApplet, IDS_SYSTEM_SCHEME, szSystemScheme, MAX_PATH);
-                    if(_tcsstr(buffer, szSystemScheme) || wParam == 0) //avoid the default scheme can be deleted
-                        bEnable = FALSE;
-                    else
-                        bEnable = TRUE;
-
-                    /* delete button */
-                    hDlgCtrl = GetDlgItem(hwndDlg, IDC_BUTTON_DELETE_SCHEME);
-                    EnableWindow(hDlgCtrl, bEnable);
-
-                    lpName = (LPTSTR)SendMessage((HWND)lParam, CB_GETITEMDATA, wParam, 0);
-                    LoadCurrentCursorScheme(lpName, !bEnable);
-                    break;
-                }
-            }
-
             switch (LOWORD(wParam))
             {
+                case IDC_COMBO_CURSOR_SCHEME:
+                    switch(HIWORD(wParam))
+                    {
+                        case CBN_SELENDOK:
+                        {
+                           BOOL bEnable;
+                           LPTSTR lpName;
+
+                           wParam = SendMessage((HWND)lParam, CB_GETCURSEL, 0, 0);
+                           if(wParam == CB_ERR)
+                              break;
+                           SendMessage((HWND)lParam, CB_GETLBTEXT, wParam, (LPARAM)buffer);
+                           LoadString(hApplet, IDS_SYSTEM_SCHEME, szSystemScheme, MAX_PATH);
+                           if(_tcsstr(buffer, szSystemScheme) || wParam == 0) //avoid the default scheme can be deleted
+                               bEnable = FALSE;
+                           else
+                               bEnable = TRUE;
+
+                           /* delete button */
+                           hDlgCtrl = GetDlgItem(hwndDlg, IDC_BUTTON_DELETE_SCHEME);
+                           EnableWindow(hDlgCtrl, bEnable);
+
+                           lpName = (LPTSTR)SendMessage((HWND)lParam, CB_GETITEMDATA, wParam, 0);
+                           LoadCurrentCursorScheme(lpName, !bEnable);
+                           break;
+                       }
+                    }
+                    break;
+
+                case IDC_LISTBOX_CURSOR:
+                    if (HIWORD(wParam) == LBN_SELCHANGE)
+                    {
+                        UINT uSel, uIndex;
+                        uSel = SendMessage((HWND)lParam, LB_GETCURSEL, 0, 0);
+                        uIndex = (UINT)SendMessage((HWND)lParam, LB_GETITEMDATA, (WPARAM)uSel, 0);
+                        SendDlgItemMessage(hwndDlg, IDC_IMAGE_CURRENT_CURSOR, STM_SETIMAGE, IMAGE_CURSOR,
+                                           (LPARAM)g_CursorData[uIndex].hCursor);
+                    }
+                    break;
+
                 case IDC_BUTTON_SAVEAS_SCHEME:
                     if (DialogBox(hApplet, MAKEINTRESOURCE(IDD_CURSOR_SCHEME_SAVEAS), hwndDlg, SaveSchemeProc))
                     {
@@ -911,7 +1053,7 @@
                     break;
 
                 case IDC_BUTTON_USE_DEFAULT_CURSOR:
-                    hDlgCtrl = GetDlgItem(hwndDlg, IDC_LISTVIEW_CURSOR);
+                    hDlgCtrl = GetDlgItem(hwndDlg, IDC_LISTBOX_CURSOR);
                     lResult = SendMessage(hDlgCtrl, CB_GETCURSEL, 0, 0);
                     if (lResult != CB_ERR)
                     {
@@ -950,7 +1092,7 @@
 
                 case IDC_BUTTON_BROWSE_CURSOR:
                     memset(buffer, 0x0, sizeof(buffer));
-                    hDlgCtrl = GetDlgItem(hwndDlg, IDC_LISTVIEW_CURSOR);
+                    hDlgCtrl = GetDlgItem(hwndDlg, IDC_LISTBOX_CURSOR);
                     lResult = SendMessage(hDlgCtrl, CB_GETCURSEL, 0, 0);
                     if (lResult == CB_ERR)
                     MessageBox(hwndDlg, _T("CB_ERR"), _T(""),MB_ICONERROR);

Modified: trunk/reactos/dll/cpl/main/resource.h
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/main/resource.h?rev=26368&r1=26367&r2=26368&view=diff
==============================================================================
--- trunk/reactos/dll/cpl/main/resource.h (original)
+++ trunk/reactos/dll/cpl/main/resource.h Tue Apr 17 14:41:07 2007
@@ -20,10 +20,30 @@
 #define IDD_CURSOR_SCHEME_SAVEAS 		107
 #define IDD_CLICK_LOCK				108
 
-#define IDS_CPLNAME_1		1000
-#define IDS_CPLDESCRIPTION_1	1001
-#define IDS_CPLNAME_2		1002
-#define IDS_CPLDESCRIPTION_2	1003
+/* Strings */
+#define IDS_CPLNAME_1				1000
+#define IDS_CPLDESCRIPTION_1			1001
+#define IDS_CPLNAME_2				1002
+#define IDS_CPLDESCRIPTION_2			1003
+
+#define IDS_ARROW				1016
+#define IDS_HELP				1017
+#define IDS_APPSTARTING				1018
+#define IDS_WAIT				1019
+#define IDS_CROSSHAIR				1020
+#define IDS_IBEAM				1021
+#define IDS_NWPEN				1022
+#define IDS_NO					1023
+#define IDS_SIZENS				1024
+#define IDS_SIZEWE				1025
+#define IDS_SIZENWSE				1026
+#define IDS_SIZENESW				1027
+#define IDS_SIZEALL				1028
+#define IDS_UPARROW				1029
+#define IDS_HAND				1030
+#define IDS_NONE				1031
+#define IDS_SYSTEM_SCHEME			1032
+
 
 #define IDC_SWAP_MOUSE_BUTTONS 			2000
 #define IDC_SLIDER_DOUBLE_CLICK_SPEED 		2001
@@ -40,24 +60,8 @@
 #define IDC_CHECK_POINTER_TRAIL			2012
 #define IDC_CHECK_POINTER_PRECISION		2013
 #define IDC_SLIDER_POINTER_TRAIL		2014
-#define IDC_LISTVIEW_CURSOR			2015
-#define IDS_ARROW				2016
-#define IDS_HELP				2017
-#define IDS_APPSTARTING				2018
-#define IDS_WAIT				2019
-#define IDS_CROSSHAIR				2020
-#define IDS_IBEAM				2021
-#define IDS_NWPEN				2022
-#define IDS_NO					2023
-#define IDS_SIZENS				2024
-#define IDS_SIZENWSE				2025
-#define IDS_SIZENESW				2026
-#define IDS_SIZEALL				2027
-#define IDS_UPARROW				2028
-#define IDS_HAND				2029
+#define IDC_LISTBOX_CURSOR			2015
 #define IDC_COMBO_CURSOR_SCHEME			2030
-#define IDS_NONE				2031
-#define IDS_SYSTEM_SCHEME			2032
 #define IDC_BUTTON_DELETE_SCHEME		2033
 #define IDC_CHECK_DROP_SHADOW			2034
 #define IDC_IMAGE_SWAP_MOUSE			2035




More information about the Ros-diffs mailing list