FreeBasic
Главная
Вход
Регистрация
Воскресенье, 03.03.2024, 22:24Приветствую Вас Гость | RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » Freebasic » Исходники » Табличка (Табличка при помощи библиотеки window9)
Табличка
haavДата: Понедельник, 08.10.2012, 18:15 | Сообщение # 1
Генералиссимус
Группа: Администраторы
Сообщений: 1360
Репутация: 49
Статус: Offline
Табличка при помощи библиотеки window9


Писал по быстрому для Сереги. Возможно где -то можно поуменьшить и приукрасить код. Важен сам принцип создания простой таблички:



Code

#DEFINE UNICODE
#Include Once "disphelper/disphelper.bi"
#Include "window9.bi"

Dim As Integer event,i=1,array(10,20)={{1}}, curent = 1
Dim as HWND hwnd

Sub speak (ByRef text As String)
  Dim myt As WString * 256

  Dim As Integer isSpeaking
  Dim As HRESULT hr

  DISPATCH_OBJ(tts)

  dhInitialize(TRUE)
  dhToggleExceptions(FALSE)

  myt = "Sapi.SpVoice"
  hr = dhCreateObject(@myt, NULL, @tts)
  If hr <> 0 Then Exit Sub

  myt = text
  dhCallMethod(tts, ".Speak(%S)", @myt)

  SAFE_RELEASE(tts)
End Sub

hwnd=OpenWindow("Ïðèâåò",10,10,583,500) : CenterWindow(hwnd)
AddKeyboardShortcut(hwnd,FVIRTKEY,VK_UP,1)
AddKeyboardShortcut(hwnd,FVIRTKEY,VK_DOWN,2)
AddKeyboardShortcut(hwnd,FVIRTKEY,VK_LEFT,3)
AddKeyboardShortcut(hwnd,FVIRTKEY,VK_RIGHT,4)
For y As Integer = 0 To 20
  For x As Integer = 0 To 10
   TextGadget(i,x*50+10,y*20+20,45,15,Str(i))
   SetGadgetColor(i,&h505050,255,3)
   i+=1
  Next
Next
SetGadgetColor(curent,&hb0b0b0,255,3)
Do
  event=WaitEvent()
  Select Case event
   Case eventmenu
    select Case EventNumber
     Case 1
      If curent - 11>0 Then
       curent-=11
       SetGadgetColor(curent+11,&h505050,255,3)
       SetGadgetColor(curent,&hb0b0b0,255,3)
       ThreadCall speak(Str(curent))
      EndIf
     Case 2
      If curent + 11<232 Then
       curent+=11
       SetGadgetColor(curent-11,&h505050,255,3)
       SetGadgetColor(curent,&hb0b0b0,255,3)
       ThreadCall speak(Str(curent))
      EndIf
     Case 3
      If curent - 1>0 Then
       curent-=1
       SetGadgetColor(curent+1,&h505050,255,3)
       SetGadgetColor(curent,&hb0b0b0,255,3)
       ThreadCall speak(Str(curent))
      EndIf
     Case 4
      If curent + 1<232 Then
       curent+=1
       SetGadgetColor(curent-1,&h505050,255,3)
       SetGadgetColor(curent,&hb0b0b0,255,3)
       ThreadCall speak(Str(curent))
      EndIf
    End Select
  End Select
  If Event=EventClose Then End
Loop


Данный код отображает визуально выделенную ячейку и произносит ее голосом как может biggrin
Прикрепления: 4192994.png (40.6 Kb)


Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
 
Форум » Freebasic » Исходники » Табличка (Табличка при помощи библиотеки window9)
  • Страница 1 из 1
  • 1
Поиск: