New Messagerequester

Share your advanced PureBasic knowledge/code with the community.
jamirokwai
Enthusiast
Enthusiast
Posts: 796
Joined: Tue May 20, 2008 2:12 am
Location: Cologne, Germany
Contact:

New Messagerequester

Post by jamirokwai »

Hi there,

on Mac OS, the Requester-Buttons are not filled using the system-language.
So I put together some new things including Languages, added a few Icons, and 3 new types of Requester.
The new one is fully compatible with the old function MessageRequester()
If you add more languages, please let me know, I will add them to the function.

Edit: You have to add UsePNGImageDecoder() to your code.

Code: Select all

; New_Messagerequester 0.7.4 by jamirokwai
; Icons maintained by P.J. Onori (www.github.com/somerandomdude)
;
; feel free to use as you like
;
; Extended Messagerequester using Language-Codes, currently DE,EN,FR,IT,SE,RO,FI,ID for buttontext
; added Icons (Question, Info, Locked, Denied, Lightbulb, included as DataSection)
; added Keyboard-Shortcuts (Yes, No, Ok, Cancel, Escape)
; added 3 more Requester-Types: #PB_MessageRequester_YesCancel, #PB_MessageRequester_NoCancel,
;   #PB_MessageRequester_OkCancel, #PB_MessageRequester_TimedExit
; fully compatible with PB-Messagerequester()
; Timing function added to close requester automatically after xx seconds
; cleaned up a bit
; PNGImageDecoder() has to be called first

; todo:
; - get language from os
; - animated icon?
; - add more languages
; - add more icons
; - get text-size to let text flow around image, and set window-height according to text-height

EnableExplicit

CompilerIf #PB_Compiler_OS = #PB_OS_MacOS
  ImportC ""
    HiliteControl(ControlRef.L, HiliteState.L)
    SetControlData(Control.L, ControlPQW_TypeCode.L, TagName.L, BufferSize.L, *Buffer)
  EndImport
  
   #kControlButtonPQW_Type = 10
   #kControlPushButtonDefaultTag = 'dflt'
CompilerEndIf

Enumeration 10 ;{ stQW_Types at 10 to not interfere with original constants
  #PB_MessageRequester_YesCancel
  #PB_MessageRequester_NoCancel
  #PB_MessageRequester_OkCancel
  #PB_MessageRequester_TimedExit
EndEnumeration
;}

Enumeration ;{ Codes for the integrated Icons
  #PB_MessageRequester_Question 
  #PB_MessageRequester_Denied
  #PB_MessageRequester_Bulb
  #PB_MessageRequester_Info
  #PB_MessageRequester_Lock
EndEnumeration
;}

Enumeration ;{ Language Codes
  #Language_En ; Englisch
  #Language_De ; Deutsch 
  #Language_Fr ; Französisch
  #Language_It ; Italienisch
  #Language_ES ; Spanisch
  #Language_SE ; Schwedisch
  #Language_RO ; Romanian
  #Language_FI ; Finnish
  #Language_NL ; Dutch
  #Language_ID ; Indonesian
EndEnumeration
;}

; Please adjust these to your own needs.
Global LanguageCode = #Language_En ; This will set the desired language

Procedure QW_MessageRequester(Titel$,Text$,QW_Type=#PB_MessageRequester_Ok,QW_img=#PB_MessageRequester_Question,Timeout.i=0)
  Protected QW_Image, ActWin, Height, QW_Window
  Protected ReqFont, ReqRaus, ReqText1, ReqText2, ReqImg
  Protected Yes$, No$, Cancel$, OK$
  Protected YesKey, NoKey, CancelKey, OKKey
  Protected YESKnopf, NoKnopf, CancKnopf, OKKnopf
  Protected mydefault, mydefesc, mydefres
  Protected event, eventwin, gadget, QW_Req_Menu
  
  Select QW_img ;{ Set the Image to only Catch the needed image
    Case #PB_MessageRequester_Question : QW_Image = ?question
    Case #PB_MessageRequester_Denied   : QW_Image = ?denied
    Case #PB_MessageRequester_Bulb     : QW_Image = ?bulb
    Case #PB_MessageRequester_Info     : QW_Image = ?info
    Case #PB_MessageRequester_Lock     : QW_Image = ?lock
  EndSelect
  
  QW_Image = CatchImage(#PB_Any,QW_Image)
  ;}
  
  Select LanguageCode ;{ Get the specific Gadget-texts for a specific language
    Case #Language_de: Restore Language_MSG_De
    Case #Language_en: Restore Language_MSG_En
    Case #Language_fr: Restore Language_MSG_Fr
    Case #Language_it: Restore Language_MSG_It
    Case #Language_es: Restore Language_MSG_es
    Case #Language_se: Restore Language_MSG_se
    Case #Language_Ro: Restore Language_MSG_Ro
    Case #Language_FI: Restore Language_MSG_Fi
    Default: Restore Language_MSG_En
  EndSelect
  ;}
    
  Read.s Yes$
  Read.s No$
  Read.s Cancel$
  Read.s OK$
  Read.i YesKey
  Read.i NoKey
  Read.i CancelKey
  Read.i OKKey
    
  If GetActiveWindow() ;{ Deactivate the current window to remove possible interfering
    ActWin = GetActiveWindow()
    If IsWindow(actwin)
      DisableWindow(ActWin,1)
    EndIf
  EndIf
  ;}
  
  ;{ Calculate minimal Window-Height, and open the window sticky
  height = Len(Text$) / 25 * 20 + 20 + 40 ; 20 for Headline, 40 for Buttons
  If height < 160 : height = 160 : EndIf ; Our window has to be at least 160 px high
  QW_Window  = OpenWindow(#PB_Any,   0,  0, 400, height, Titel$, #PB_Window_SystemMenu|#PB_Window_TitleBar|#PB_Window_ScreenCentered|#PB_Window_WindowCentered)
  StickyWindow(QW_Window,1)
  If Timeout
    Protected.i QW_Timer = 99
    AddWindowTimer(QW_Window, QW_Timer, Timeout*1000)
  EndIf
  ;}

  If IsImage(QW_Image)   ;{ Add Icon
    ReqImg = ImageGadget(#PB_Any, 10, 10, 120, 90, ImageID(QW_Image))
  EndIf
  ;}
  
  ; Add Gadgets, and set the Fonttype of Headline to BOLD
  ReqText1 = TextGadget(#PB_Any, 140, 10, 250, 20, Titel$)
  ReqText2 = TextGadget(#PB_Any, 140, 30, 250, 130, Text$)
  ReqFont = LoadFont(#PB_Any,"Arial",14,#PB_Font_Bold)
  SetGadgetFont(ReqText1,FontID(ReqFont))
  
  Select QW_Type ;{ Create Gadgets according to the Type of Messagerequester
    Case #PB_MessageRequester_Ok
      OKKnopf = ButtonGadget(#PB_Any, WindowWidth(QW_Window) - 70, WindowHeight(QW_Window) - 30, 60, 20, OK$)
      AddKeyboardShortcut(QW_Window, OkKey, 3)
      mydefault = OKKnopf
      mydefres  = #PB_MessageRequester_Ok
      mydefesc  = #PB_MessageRequester_Cancel
    Case #PB_MessageRequester_YesNo
      YESKnopf = ButtonGadget(#PB_Any, WindowWidth(QW_Window) - 140, WindowHeight(QW_Window) - 30, 60, 20, Yes$)
      NoKnopf  = ButtonGadget(#PB_Any, WindowWidth(QW_Window) - 70, WindowHeight(QW_Window) - 30, 60, 20, No$)
      AddKeyboardShortcut(QW_Window, YesKey, 4)
      mydefault = YESKnopf
      mydefres  = #PB_MessageRequester_Yes
      mydefesc  = #PB_MessageRequester_No
    Case #PB_MessageRequester_YesCancel
      YESKnopf  = ButtonGadget(#PB_Any, WindowWidth(QW_Window) - 70, WindowHeight(QW_Window) - 30, 60, 20, Yes$)
      CancKnopf = ButtonGadget(#PB_Any, 10, WindowHeight(QW_Window) - 30, 100, 20, Cancel$)
      AddKeyboardShortcut(QW_Window, YesKey, 4)
      AddKeyboardShortcut(QW_Window, CancelKey, 6)  
      mydefault = YESKnopf
      mydefres  = #PB_MessageRequester_Yes
      mydefesc  = #PB_MessageRequester_Cancel
    Case #PB_MessageRequester_NoCancel
      NoKnopf  = ButtonGadget(#PB_Any, WindowWidth(QW_Window) - 70, WindowHeight(QW_Window) - 30, 60, 20, No$)
      CancKnopf = ButtonGadget(#PB_Any, 10, WindowHeight(QW_Window) - 30, 100, 20, Cancel$)
      AddKeyboardShortcut(QW_Window, NoKey, 5)  
      AddKeyboardShortcut(QW_Window, CancelKey, 6)  
      mydefault = NoKnopf
      mydefres  = #PB_MessageRequester_No
      mydefesc  = #PB_MessageRequester_Cancel
    Case #PB_MessageRequester_OkCancel
      OKKnopf  = ButtonGadget(#PB_Any, WindowWidth(QW_Window) - 70, WindowHeight(QW_Window) - 30, 60, 20, OK$)
      CancKnopf = ButtonGadget(#PB_Any, 10, WindowHeight(QW_Window) - 30, 100, 20, Cancel$)
      AddKeyboardShortcut(QW_Window, OkKey, 3)
      AddKeyboardShortcut(QW_Window, CancelKey, 6)
      mydefault = OkKnopf
      mydefres  = #PB_MessageRequester_Ok
      mydefesc  = #PB_MessageRequester_Cancel
    Case #PB_MessageRequester_YesNoCancel
      YESKnopf  = ButtonGadget(#PB_Any, WindowWidth(QW_Window) - 140, WindowHeight(QW_Window) - 30, 60, 20, Yes$)
      NoKnopf   = ButtonGadget(#PB_Any, WindowWidth(QW_Window) - 70, WindowHeight(QW_Window) - 30, 60, 20, No$)
      CancKnopf = ButtonGadget(#PB_Any, 10, WindowHeight(QW_Window) - 30, 100, 20, Cancel$)
      AddKeyboardShortcut(QW_Window, YesKey, 4)
      AddKeyboardShortcut(QW_Window, NoKey, 5)  
      AddKeyboardShortcut(QW_Window, CancelKey, 6)  
      mydefault = YESKnopf
      mydefres  = #PB_MessageRequester_Yes
      mydefesc  = #PB_MessageRequester_Cancel ;}
  EndSelect
  
  ; Set a default Button to answer the Return-Key
  If mydefault
CompilerIf #PB_Compiler_OS = #PB_OS_MacOS
      Protected DrawDefaultRing.B = #True  
      SetControlData(GadgetID(mydefault), #kControlButtonPQW_Type, #kControlPushButtonDefaultTag, SizeOf(DrawDefaultRing), @DrawDefaultRing)
      HiliteControl(GadgetID(mydefault), #kControlButtonPQW_Type)    
CompilerElse
      SetGadgetColor(mydefault,#PB_Gadget_BackColor,RGB(56,56,232))
CompilerEndIf
    SetActiveGadget(mydefault)
    AddKeyboardShortcut(QW_Window, #PB_Shortcut_Return, 1)
  EndIf  
  
  AddKeyboardShortcut(QW_Window, #PB_Shortcut_Escape, 2)
  
  ReqRaus = 234567
  Repeat ;{
    event = WaitWindowEvent(25)
    eventwin = EventWindow()
    If eventwin = QW_Window
      Select Event
        Case #PB_Event_CloseWindow ;{ Fenster schließen
          ReqRaus = #PB_MessageRequester_Cancel
          ;}
        Case #PB_Event_Gadget ;{ Buttons for Result
          gadget = EventGadget()
          Select Gadget
            Case OKKnopf   : ReqRaus = #PB_MessageRequester_Ok
            Case YESKnopf  : ReqRaus = #PB_MessageRequester_Yes
            Case NoKnopf   : ReqRaus = #PB_MessageRequester_No
            Case CancKnopf : ReqRaus = #PB_MessageRequester_Cancel
          EndSelect
          ;}
        Case #PB_Event_Menu ;{ Keys for Result
          QW_Req_Menu = EventMenu()
          Select QW_Req_Menu
            Case 1 : ReqRaus = mydefres
            Case 2 : ReqRaus = mydefesc  
            Case 3 : ReqRaus = #PB_MessageRequester_Ok
            Case 4 : ReqRaus = #PB_MessageRequester_Yes
            Case 5 : ReqRaus = #PB_MessageRequester_No
            Case 6 : ReqRaus = #PB_MessageRequester_Cancel
          EndSelect
          ;}
        Case #PB_Event_Timer ;{ Timer Fired
          If EventTimer() = QW_Timer
            ReqRaus = #PB_MessageRequester_TimedExit
            Break
          EndIf
;}
      EndSelect
    EndIf ;}
  Until ReqRaus <> 234567
  
  ; Clean up a bit
  If IsMenu(QW_Req_Menu) : FreeMenu(QW_Req_Menu) : EndIf
  If IsFont(reqFont) : FreeFont(ReqFont) : EndIf
  If IsWindow(QW_Window) : CloseWindow(QW_Window) : EndIf
  
  If IsWindow(ActWin) : SetActiveWindow(ActWin) : EndIf    ; Re-enable the last active window

  ProcedureReturn ReqRaus
EndProcedure

DataSection ;{ Languagecodes 
  Language_MSG_DE:
    Data.s "Ja","Nein","Abbrechen","OK"
    Data.l #PB_Shortcut_J,#PB_Shortcut_N,#PB_Shortcut_A,#PB_Shortcut_O
    
  Language_MSG_EN:
    Data.s "Yes","No","Cancel","OK"
    Data.l #PB_Shortcut_Y,#PB_Shortcut_N,#PB_Shortcut_C,#PB_Shortcut_O
        
  Language_MSG_FR:
    Data.s "Oui","Non","Annuler","OK"
    Data.l #PB_Shortcut_O,#PB_Shortcut_N,#PB_Shortcut_A,#PB_Shortcut_O

  Language_MSG_It:
    Data.s "Si","No","Annullare","OK"
    Data.l #PB_Shortcut_S,#PB_Shortcut_N,#PB_Shortcut_A,#PB_Shortcut_O
    
  Language_MSG_Es:
    Data.s "Sí","No","Desgajar","OK"
    Data.l #PB_Shortcut_S,#PB_Shortcut_N,#PB_Shortcut_D,#PB_Shortcut_O
    
  Language_MSG_Se:
    Data.s "Ja","Nej","Avbryt","OK"
    Data.l #PB_Shortcut_J, #PB_Shortcut_N, #PB_Shortcut_A, #PB_Shortcut_O
    
  Language_MSG_Ro:
    Data.s "Da","Nu","Anuleaza","Continua"
    Data.l #PB_Shortcut_S,#PB_Shortcut_N,#PB_Shortcut_D,#PB_Shortcut_O
    
  Language_MSG_Fi:
    Data.s "Kyllä","Ei","Peruuta","OK"
    Data.l #PB_Shortcut_K, #PB_Shortcut_E, #PB_Shortcut_P, #PB_Shortcut_O
    
  Language_MSG_NL:
    Data.s "Ja","Nee","Annuleer","OK"
    Data.l #PB_Shortcut_J,#PB_Shortcut_N,#PB_Shortcut_A,#PB_Shortcut_O  
    
  Language_MSG_ID:
    Data.s "Ya","Tidak","Batal","OK"
    Data.l #PB_Shortcut_Y,#PB_Shortcut_T,#PB_Shortcut_B,#PB_Shortcut_O  
    
    ;}
  ;{ Icons
  question: ; size : 1277 bytes
    Data.q $0A1A0A0D474E5089,$524448490D000000,$5A00000078000000,$62DE440000000308,$544C50EC010000DD,$0100000000000045,$0303030202020101,$D8D8F4F4F40A0A0A,$06090909AFAFAFD8,$8181811616160606
    Data.q $7D7D313131535353,$10797979DDDDDD7D,$EEEEEE0E0E0E1010,$8282434343353535,$2207070719191982,$5454548383832222,$5858A2A2A2CCCCCC,$A99191916A6A6A58,$E6E6E64E4E4EA9A9,$6262F7F7F7F5F5F5
    Data.q $238B8B8B94949462,$BCBCBCF3F3F32323,$36367F7F7FB0B0B0,$14EFEFEF4A4A4A36,$E5E5E5CDCDCD1414,$5959DFDFDF565656,$F0AEAEAE0C0C0C59,$E1E1E15F5F5FF0F0,$CACA6C6C6CB2B2B2,$DEE8E8E8262626CA
    Data.q $ECECEC1A1A1ADEDE,$E2E2111111EDEDED,$47333333737373E2,$2929291717174747,$70706767676F6F6F,$716D6D6D84848470,$8080804545457171,$51516E6E6E303030,$DCF1F1F161616151,$B1B1B1040404DCDC
    Data.q $8F8F0B0B0BB6B6B6,$DB4F4F4F2B2B2B8F,$7A7A7AB9B9B9DBDB,$6B6B8C8C8C7E7E7E,$3F4646469696966B,$2828281B1B1B3F3F,$8787C9C9C9727272,$D4CFCFCFB4B4B487,$787878F6F6F6D4D4,$6464484848E3E3E3
    Data.q $D7121212E9E9E964,$2C2C2C2A2A2AD7D7,$34343C3C3CD1D1D1,$6008080889898934,$9999996363636060,$2E2EF2F2F2DADADA,$A0A1A1A15A5A5A2E,$3A3A3A131313A0A0,$BEBE2727275D5D5D,$3ED5D5D59D9D9DBE
    Data.q $5E5E5EA4A4A43E3E,$7B7BC1C1C1575757,$65C0C0C02F2F2F7B,$E7E7E71515156565,$7777EBEBEB414141,$90D3D3D3ABABAB77,$0A39725050509090,$4E5274010000000B,$000066D8E6400053,$5E7854414449BF02
    Data.q $871C316BB353D9ED,$DB6DB6DDD492FCE1,$F8DB6DB6DB6D0E36,$B9D7B0B3699F67A2,$4CEABDF45F6BFE6C,$96CB6ACC1A4CFA66,$8404740F8DE2F156,$05B191F12C4897FC,$B9B2638D19017207,$56280C6DF58282B4
    Data.q $C0860F77EBF0C8D1,$5B2F4E75D004A2E5,$AE3D1F4ED6CE6551,$643FFE4201B4DDD3,$9C94C114CF73EBD7,$8675C587F83690F2,$6FB0A0D6EE4D72F9,$7E9B8F48B9360066,$AF9A87896900C2D5,$02D1E885D165811F
    Data.q $EF3E1DCEC72E98D7,$190C0B6BB0DED002,$6E185CF7EE0D5E89,$64373DB600C5A930,$D8F5D34BF00D4281,$03587190C9B3BFDE,$C95B335442C15E7C,$EDDCC54FDBE64AB5,$297E516CF918290F,$15CA03C398D9D8D4
    Data.q $1D9831A660C7029E,$1E8E64C8C1507873,$382B8338731FEB9B,$1CC72571A73784EC,$40AF7B84EA5540F6,$139AE12D1F91DC1B,$5CEBBCD261326CAE,$7285EB825DB3CB82,$7521CE0A1CBC2D05,$4E148CAD671AB777
    Data.q $D40A6E9493F1AF30,$CAE46DD097B86312,$F2E185AEE84BD895,$244AE9926E74C927,$973A71F9895F32B9,$D86E643D81E5C373,$9B3EEE64FD815F32,$69DC5B8166E6429B,$B0AE8415DD5B973A,$65DD583CDCC9ABB8
    Data.q $BE6E8C7B9B4AEE64,$CE7FD2ED4F5DF5B6,$47395C2186E2B85C,$774A151CE5773827,$9F59715C10E5D5F6,$DA73774F73A41DD5,$8462AEE983CAA57D,$B8C1572EB71DC2CD,$3E5C478978BB28C0,$D46146A7B70A4537
    Data.q $329135D9E480177A,$1160443996AB9F75,$34CD7AA11A0059EC,$4FF4DD0F31AD4377,$EF86EB6E369752DF,$EAEE257280025828,$F53C57CD2626FD86,$78674803FEF86E9E,$EEF2E1C208F7B4C8,$8C790266FFAFC236
    Data.q $4918BB762C0C91A0,$8EACF02E2DC14F9D,$B40168A39C5E94D1,$D222A4245EBA30D6,$949BE8DA462BF158,$07B1230DC2AAEFB7,$86EA3F7A1F4BC5E2,$EE4FD7D9302C3D5B,$EC4538F8E4A4007E,$EE667C2EAE460A7E
    Data.q $BF85A57CBFCF24FC,$29970B46D3916145,$21CFA24B85A3E3D8,$70FF222785A4A998,$90819AFDC464FC41,$0B1AC89BC8CDFB48,$FEF178AF4B6029FC,$490A0DC55612AE02,$4E45490000000028
    Data.b $44,$AE,$42,$60,$82
    
  denied: ; size : 1957 bytes
    Data.q $0A1A0A0D474E5089,$524448490D000000,$5A00000078000000,$62DE440000000308,$544C5046020000DD,$0100000000000045,$0303030202020101,$0707757575797979,$F10606060C0C0C07,$1212120D0D0DF1F1
    Data.q $2B2B949494252525,$787A7A7A1010102B,$767676EEEEEE7878,$0F0FF6F6F6040404,$426363638282820F,$F0F0F00909094242,$B6B6D6D6D6414141,$B7323232202020B6,$5F5F5F999999B7B7,$29292C2C2CEBEBEB
    Data.q $30A1A1A161616129,$3838388C8C8C3030,$5B5BB5B5B5DBDBDB,$2AE6E6E6ECECEC5B,$B4B4B4B0B0B02A2A,$F4F4DFDFDF131313,$1D171717B3B3B3F4,$1616166464641D1D,$6565D8D8D8A4A4A4,$316E6E6E36363665
    Data.q $0A0A0A5E5E5E3131,$C7C7858585F2F2F2,$E3E9E9E9EDEDEDC7,$4E4E4E212121E3E3,$C2C2A9A9A94B4B4B,$48080808141414C2,$2727277777774848,$E7E7AAAAAAD2D2D2,$745858584D4D4DE7,$D4D4D4BABABA7474
    Data.q $0E0E242424191919,$40696969AFAFAF0E,$1B1B1B4747474040,$7C7C262626818181,$89A2A2A2C6C6C67C,$3F3F3F6B6B6B8989,$DEDE1F1F1FEFEFEF,$C5ABABABDADADADE,$444444E0E0E0C5C5,$4545979797C3C3C3
    Data.q $9DD0D0D00B0B0B45,$B9B9B99595959D9D,$CBCB9393935A5A5A,$11CFCFCF434343CB,$D7D7D74C4C4C1111,$7B7BC4C4C4EAEAEA,$8DF3F3F38F8F8F7B,$3D3D3DE8E8E88D8D,$E5E5676767A0A0A0,$F7AEAEAE7F7F7FE5
    Data.q $CCCCCCBFBFBFF7F7,$BEBEC9C9C9BCBCBC,$664646467E7E7EBE,$9090906D6D6D6666,$55550505058A8A8A,$2F868686BBBBBB55,$CACACAE1E1E12F2F,$1818A3A3A31C1C1C,$1A9A9A9A33333318,$151515E2E2E21A1A
    Data.q $ACAC929292545454,$83DDDDDD5D5D5DAC,$C8C8C8F5F5F58383,$8B8BDCDCDCCDCDCD,$98CECECE3535358B,$7373735757579898,$B2B2282828C1C1C1,$254A4A4ABDBDBDB2,$74010000006811BB,$66D8E64000534E52
    Data.q $544144490D050000,$4B63B35399ED5E78,$B6C758EF757B8014,$B8DB6DB6D8D6DB6D,$49DD4EECFFDB6DB6,$B7057BB392677656,$B7D74AA96F7CE1E6,$0B114F613ABABDD0,$42ADDAEEB2ECF02C,$638B3B9519AC22F3
    Data.q $4001B25BD43FAD6F,$BF3A9BCCDE007E68,$000A7E0EE6B9A62C,$F0A3238000400B5C,$E52E7CEE63B48C41,$B48B16BDD601C12A,$A9000435A1775EB3,$8000CCFBDB46AFF7,$D4D1896DE6870866,$F1F00129A014191E
    Data.q $055342093BA6289A,$0B6CBEF25129492C,$BDEAC1E0FF80AE92,$0F01571368689BF8,$6964A1BEB47CB4E2,$1FB60E7B93C39587,$ADAB4086C8C4C28E,$2CE2899C828DF6B4,$3F4DC2B1F57D58FB,$F5229ABA1CCC0C9F
    Data.q $7DA45796B207D7BE,$C8B66CCE7264CC3F,$154577991E5D486A,$339DF05354CB5A48,$244D4751CF271E9A,$2FC5805EF45B5BDE,$F97D245B2DAC90B1,$374FA0E9C408D1F3,$B552550BCBCD9CAF,$8F55D4DEF6C2075D
    Data.q $94BE7B00CC2D5BC3,$724F677A61AD2BF3,$84D9310CCDD858DD,$05DEFBBCF092F394,$F2DCD0380A4D2EDA,$AB99D79D78E25876,$D18B20648393EF90,$245FC77431C1DE79,$B098959D18DB022F,$3DCDE119D5A72E48
    Data.q $6326002632416F64,$9F747AE8579D12EF,$D5214ECDE8013E2C,$4B586C41F8F96859,$4329E77309873EF4,$D07F9D426F94826F,$5BF4BFCE7C513F42,$0C22F6147E60BE5A,$7DC9C5B7920ADD7B,$A78F12BECA3ECF5E
    Data.q $8DD89242EE3F9946,$5F1E137CB427F90B,$A2F8926CF0319794,$BD9AFEA459A50C4F,$AF6CA56E05F04E82,$F926F243BF1454EA,$EF104DC197622F04,$C09BFA520F5378C2,$2AFC41257D0C6C90,$65E50E6BDF9E9AAE
    Data.q $47CE2EA7579C5067,$0CE5C06967509BB1,$A987EA9DB63C6F71,$3273EA4B96162BDD,$E2CA95F061F44989,$9D72B0D702D8DF59,$650C93EE13664C4D,$215F790AF60C71F1,$144EE2CAAC0A3885,$9518E31C8BFB93F7
    Data.q $8BFB936F8A2F78B2,$CE24F16530315B54,$00EFA990DCCA6EBB,$BFB91B4EA70E38B2,$4B5786D8BA52D8C8,$97B32F636AF64788,$5FD0AB3E2899C5D0,$873C5D03564A0B33,$29C1612EF6346EA5,$269D73707B174F5E
    Data.q $C69E2E9DA2640DCF,$2C726417B94694E3,$1CE0CCB8A3362C82,$CC807D001490B3C5,$E04FC8BFB92EF8A0,$B37A64BD7F556EF3,$C5A90373A8775DE2,$177BF6D7C5956BE8,$296B4857DC435109,$D5A2E064CA643F8A
    Data.q $AF9B7DECBDD59D52,$A1A150BC61B58E6A,$492F630D245FD695,$0AD0855E6AE71751,$A997B8A054A6F3C2,$59F3855B2E01F753,$18870E861348CEA5,$AF54538E0B3C2281,$E391A9E3DA06BAFC,$3E1BC60F720F4EB8
    Data.q $BBB051907EB82D36,$2332EF20D1A1E530,$C0EC48C05172E0B6,$D0C37CEB03470781,$FC4D0A40D82FEE5B,$7F5A0DE573473363,$2233CFB0FE7967D9,$E45FD6AE1655007B,$38F7154755D7BF0B,$0DD9107BA534CA39
    Data.q $9B0C2632325FC502,$A7615BD1C4599DE8,$35CEA933452DAF8B,$7C18591AC81FBA71,$357A2736DE184425,$BF3A45F1F4219AF8,$27844DE6F3AADCAC,$50D0FC9BDE80F71E,$236D857BF3499DFB,$34CE274197C3930B
    Data.q $0043420D90FEE77C,$1C333AE34F73A503,$8BDB0D31369F3EBD,$0CAD7FC88CD85AF7,$2407ABFB5212FFA5,$CCC966091644E6EF,$ABDA20ADEE5BFAC1,$8C07BE835692A523,$BF0DE6A49AE66845,$3A7B92FDAC5749B7
    Data.q $CA458475506AD655,$96EEBA00AA781688,$FBA9A6BB3C6E9DA5,$7C0780059715FF76,$D0E2F739161DF165,$0FA400C9A1096E8C,$07534203DD7068B3,$A00451589459371C,$CB1E8B07F150E5AA,$59129AB00B5354FF
    Data.q $B56B180335371934,$8399ECF4DA2C0BA9,$62C3513B41CD7B79,$01CDCA10ED8EF541,$B1BEC2B166FEE79C,$17715C3FAE5003A8,$CF8DCE294C5807DD,$085D91FC00099FD8,$B20EBBBDF9ED1000,$3C7FE6330BF183FF
    Data.q $C79DBDC9B8B69973,$FC0B02C4D3D85B67,$D88E2768B93E840B,$4E45490000000097
    Data.b $44,$AE,$42,$60,$82
  
  info: ; size : 730 bytes
    Data.q $0A1A0A0D474E5089,$524448490D000000,$5A00000078000000,$62DE440000000308,$544C501A010000DD,$0300000000000045,$0202020101010303,$BDBD0D0D0D090909,$D9353535060606BD,$040404C8C8C8D9D9
    Data.q $DCDC929292191919,$2F323232D2D2D2DC,$1E1E1ECECECE2F2F,$1818808080111111,$0AF2F2F2F6F6F618,$AEAEAED3D3D30A0A,$0808C9C9C91B1B1B,$37CACACABCBCBC08,$4B4B4B4343433737,$8C8CB3B3B35D5D5D
    Data.q $F0E4E4E44848488C,$DDDDDD5E5E5EF0F0,$9999888888101010,$66DBDBDBE1E1E199,$B4B4B47676766666,$6B6BB0B0B0636363,$5AD6D6D61515156B,$7C7C7CA6A6A65A5A,$42424646464E4E4E,$F3E6E6E667676742
    Data.q $D4D4D4414141F3F3,$7272626262CBCBCB,$8F8B8B8B94949472,$9A9A9AE5E5E58F8F,$F1F1A2A2A2D1D1D1,$443E3E3E212121F1,$CDCDCD0C0C0C4444,$1C1C686868CFCFCF,$3A3B3B3B8484841C,$3C3C3CB9B9B93A3A
    Data.q $0045667870737373,$00534E5274010000,$6E01000066D8E640,$D8ED5E7854414449,$7F61861030EC6F55,$33333332C66593B6,$D5DA37FFFF81D333,$327A9546DE376A46,$1A47A5B5BDE672A9,$72D71C5A7E2C66F9
    Data.q $D69C40E4EA52529C,$B7AD285ACB41CC1D,$736027485127BA10,$DEC3DF252B4DCC87,$4709D71DB09B9128,$92CECA43643F7044,$024730C6C94B05B8,$331E049E42BA410F,$D580D8780A71E5E1,$81FB6132DBC93DDD
    Data.q $E028465460359E02,$50999A2825FE1329,$A4F708749052786E,$71AC83474CE069A7,$105DD1F1B79A882A,$A96A171DA0A62D64,$BF2F50B5595AE82A,$ADB96237942B6826,$319A5F40115DF6ED,$AAFDD9479B5C71C7
    Data.q $1FE07DA4A3D4707F,$3D2C1FE3D5823DAC,$08C2B61987A1AD52,$04562B5BDC3D1EA3,$3BCECEE7C29DC29A,$B03055145D9B0240,$C11AEAF8183AD4B8,$B82836F82826E2C0,$661D844E1984BFEF,$EB0CC3147FE18BB8
    Data.q $0847584CC70CC190,$C0132877494978DC,$FBBBE329EA46908F,$B02FDC4BC334B52C,$D9681FF4EFC8ADFB,$7C776A47B6FE542C,$31CE49F900158FD9,$61986618CC047E88,$552102BDC71DBF86,$00003A473396DE2A
    Data.q $42AE444E45490000
    Data.b $60,$82
  
  bulb: ; size : 1444 bytes
    Data.q $0A1A0A0D474E5089,$524448490D000000,$5A00000078000000,$62DE440000000308,$544C501C020000DD,$0100000000000045,$0505050202020101,$2626F6F6F6030303,$C71A1A1A08080826,$070707060606C7C7
    Data.q $2C2C5C5C5CA2A2A2,$72D2D2D21F1F1F2C,$B7B7B7F5F5F57272,$4A4AF2F2F2C9C9C9,$0F666666F3F3F34A,$2B2B2BABABAB0F0F,$0404656565B6B6B6,$1E0A0A0AD7D7D704,$0909092727271E1E,$6262C0C0C0969696
    Data.q $242929290C0C0C62,$D4D4D4E5E5E52424,$C8C8222222ECECEC,$15F0F0F0232323C8,$F7F7F71C1C1C1515,$A0A0565656505050,$71343434373737A0,$8F8F8F7777777171,$6363979797E8E8E8,$DB14141447474763
    Data.q $E2E2E2E3E3E3DBDB,$C4C48B8B8B313131,$10DEDEDECFCFCFC4,$F4F4F42E2E2E1010,$81816C6C6CEFEFEF,$21C2C2C28D8D8D81,$515151BCBCBC2121,$DFDF8E8E8E828282,$D10D0D0D2A2A2ADF,$919191848484D1D1
    Data.q $7B7B3C3C3C707070,$331B1B1B9F9F9F7B,$D3D3D3CDCDCD3333,$4F4F363636B5B5B5,$A15E5E5E6969694F,$D0D0D0676767A1A1,$3535E9E9E93B3B3B,$57E0E0E019191935,$5858589999995757,$0B0BA4A4A4A5A5A5
    Data.q $5A5353533D3D3D0B,$2D2D2D6464645A5A,$75759C9C9C767676,$5D9090907F7F7F75,$EBEBEB6D6D6D5D5D,$1717434343E4E4E4,$614C4C4C95959517,$BDBDBD4141416161,$B9B9252525D5D5D5,$F13E3E3EAAAAAAB9
    Data.q $808080484848F1F1,$EEEE7C7C7C7D7D7D,$9ACECECE6F6F6FEE,$8686867474749A9A,$3F3FA6A6A67E7E7E,$BED6D6D64949493F,$B4B4B49D9D9DBEBE,$D9D9202020BFBFBF,$B8ADADAD161616D9,$5F5F5F424242B8B8
    Data.q $6B6BE1E1E1A3A3A3,$C1C5C5C51313136B,$F7E69C2F2F2FC1C1,$4E52740100000094,$000066D8E6400053,$5E78544144493603,$46103CE48ED597ED,$CCCCCCC34CD2765D,$CCCCCCCCCCCCCB4C,$3476AE0BE333FBCC
    Data.q $5CD6E537B24C9E86,$515D394F93A55CE4,$4A4B8B8569917659,$C9C561C7330967A0,$0D13DADDA4133333,$4E4AAC6060273302,$CB5C045ED999FA23,$B87B59AE565BE0D5,$0C88C140B4D40422,$B6515A2CC4E6F4EB
    Data.q $6D3002C6EF3EB8FF,$B979F397ABAC9601,$F0CF88B5D2474576,$5E7C10A5B737B29E,$E3E56E5800D0AF71,$BDF8600024E37B7B,$45AF33880041CDDE,$D95FF5AAA9ABBE5F,$7C36A6AEAEBD7494,$DEB8A5D2D35545A7
    Data.q $46A33C5594A01DF4,$E6031F2BD5D6FA06,$BB0A5E922F1544BE,$E69528B24607C657,$C1BC20C503DE98E5,$39BF3E4FBF40D615,$102A9D1C6660A5AA,$33379E21619A89F6,$D0F4D10CED7ADF0A,$66B7899DBC4D1F38
    Data.q $839A3DEF034E65D8,$ECB3D9A60BC5DE26,$CB04725E50FF8532,$5A9F6590C5CB929B,$E54D7ADF58D5422F,$2BED4FB017CC3144,$6A2C2481D610A9E2,$48BD6220DB14E2D9,$2F3B14E05E2101E2,$DE6DA25DC4913B62
    Data.q $4862C515F04EC538,$3EE3A1F342FE66E2,$7C8389206745F062,$171F24B14E030685,$9C1A362E52E2489B,$87C490CC5C42DB62,$05C5B14EA966A7F8,$55CD17EF12421C5C,$917A8B9BC3DB14E6,$BAC53AF78B800BC4
    Data.q $A38847389208EC45,$0E1D572083B10EAD,$53ECEFAEEF29B39F,$C4826BE969A9BC0D,$8442A87D98E5A898,$BE662E64D6E6D0AA,$30B72649C099767B,$87365DD7D10DCA2C,$047999CFE253CCC8,$67336B39F4794E8D
    Data.q $420BE27879B9C4C8,$84C04B8154E2E0CC,$E7314AA9A3C132F8,$FEB78AAB94C2665B,$98DF349803A4411A,$5B894750C9181F1D,$6E24A00A60DB9504,$E0F5DD9F55CED6A1,$EF98A639AAFD0B8A,$8F3208B343BD503F
    Data.q $1A303CC3BD98AA0C,$59CA74C0ECD4BC55,$53D5F44C9F8F0041,$5073C0D119E0CBC5,$BEF388BCE326EE6B,$34342D2057785A25,$BD9501952A045FBE,$F1F0CD2430F89A27,$44F7CE637293E06B,$840FD8C44225691B
    Data.q $D13169FDE13068FC,$44846D0CC2B9CFC8,$3F2495A224EAAFE4,$5C2FDF76673A30EF,$5672C26688D39B4C,$DA232D305137F5FE,$D9710FFDA0DB9DF9,$8A651527FC5FAAD9,$FD1F8BF9FA27E82B,$5F1E67E890A8B424
    Data.q $8CF1FA2269681252,$2B818C5774DEC559,$DFC98844B10B05CE,$E990F01C18931983,$A979BFCB8B8B8B8C,$FFCF5E112FFBC893,$C571F116DDD1A160,$2F97171E2715D8AE,$CE9472DA7C736F47,$444E454900000000
    Data.b $AE,$42,$60,$82
    
  lock: ; size : 1385 bytes
    Data.q $0A1A0A0D474E5089,$524448490D000000,$5A00000078000000,$62DE440000000308,$544C500D020000DD,$0200000000000045,$0303030101010202,$0707060606FFFFFF,$080404040A0A0A07,$2222221C1C1C0808
    Data.q $D3D3101010EFEFEF,$C6E1E1E10B0B0BD3,$C7C7C7424242C6C6,$CCCCE2E2E2373737,$1D151515E0E0E0CC,$1212127777771D1D,$EDEDD5D5D5EEEEEE,$1E6161611A1A1AED,$0D0D0DAEAEAE1E1E,$31317171716E6E6E
    Data.q $DFD2D2D238383831,$C5C5C50F0F0FDFDF,$BDBDBBBBBB2D2D2D,$D77070702B2B2BBD,$545454DADADAD7D7,$D8D87E7E7E666666,$EB5555554B4B4BD8,$2121217C7C7CEBEB,$CDCD0E0E0EE8E8E8,$23898989F6F6F6CD
    Data.q $0909096C6C6C2323,$6A6A4C4C4CD4D4D4,$E6E5E5E5F1F1F16A,$A6A6A6F0F0F0E6E6,$4F4F9D9D9DBFBFBF,$916060605050504F,$0C0C0CBEBEBE9191,$B9B9444444181818,$32F3F3F3393939B9,$050505BABABA3232
    Data.q $A7A7BCBCBCF5F5F5,$791414142F2F2FA7,$AAAAAA8484847979,$AFAFA9A9A92A2A2A,$689C9C9C828282AF,$7A7A7A6464646868,$5E5E9E9E9E626262,$93B8B8B8A5A5A55E,$5353537373739393,$8686757575E4E4E4
    Data.q $85D0D0D0E7E7E786,$A8A8A86969698585,$B2B2C9C9C9272727,$C8CBCBCB656565B2,$262626EAEAEAC8C8,$3030292929F2F2F2,$C1595959F4F4F430,$949494A3A3A3C1C1,$4A4A202020434343,$B71111114646464A
    Data.q $DBDBDB999999B7B7,$8C8C5151514E4E4E,$1F1717172424248C,$B3B3B3E3E3E31F1F,$FEFE727272636363,$789A9A9AD6D6D6FE,$333333FCFCFC7878,$A4A4B4B4B4DCDCDC,$A1767676B6B6B6A4,$ECECEC1B1B1BA1A1
    Data.q $91A22828282E2E2E,$527401000000C372,$0066D8E64000534E,$78544144490A0300,$1440E497D3D8ED5E,$B6C6269555BDE1C0,$B6DB6DB4BDB6DB6D,$E9524FA73B8DFC6D,$C879D9DB93326741,$A1FA7B9DF26FB5EF
    Data.q $04CD19197D59AC92,$6E53D88EE610746F,$8098E545D6C4EBB6,$3A812933D6023130,$834E591016C5D9B0,$331EE66CC7D73CB9,$4BE2DC526D94D950,$1F11D01767225D77,$5006BCC0651EE77C,$53280122761BE132
    Data.q $0A99DC2FA55F4088,$7C01F18A08394C20,$1F27991B382FE61E,$C00041CD377747AE,$CC0033624B75791C,$64F50B21DDB00B91,$E3CE9D3B62B709ED,$B6C2693C394F9B65,$AA04B381EB31BAE2,$940F91DA7E3C6B07
    Data.q $765DBC2A15F2F0CB,$90F2A0773A137D29,$A11F0DD30DB96415,$C59DD0385EDDB5DC,$77015708819C9265,$F94B57381B173FCD,$13048738DCF13BCA,$9844465EC8F8B638,$D0C2F9BB8340086E,$0688399E44A66DEF
    Data.q $3E0DEB1D1A6090DF,$BAEDCB1478254912,$1F24EA7DE4D0C12B,$32E2CD838247088A,$95F3475470A612D4,$A571977CBDC121B7,$9BBC12176C7C27B1,$46930483704A51C3,$07C12BF7871F7824,$1308AB7048626108
    Data.q $4786C2685C1290EB,$87C382559F369845,$82530FF60920E1B1,$C387763580D45C03,$178FD8244EE09427,$6B5E7EB1D396C122,$932B3C4D81C64A99,$784C0A18C529369A,$568699824314478C,$87432A0C06C06C3B
    Data.q $C2669E945443D3F3,$A2E39EF956CB0985,$0E1D14383AB070C8,$D80D80D163EC0194,$E03FF4BC5C2FDB80,$774BAABD9B16CBC1,$3A2BF28052800DB8,$19D06801B89449C3,$15D75DAE0EE607EE,$377D5088E0949FAE
    Data.q $54E17D1AC8E0971E,$778A2E3FF9D56E09,$254DE609D1EB60CB,$01121FFABDD16CC2,$84871866A7EEF7A5,$3F03859B78F7EB01,$6CCB83AA1E4C2220,$5553A7F2A34E0504,$801704D69DC9023D,$1CB8DC6AC791D308
    Data.q $51119738269A417E,$7CA78EDDA5C2F486,$EF973E7609A67861,$7942AD6F293522F4,$9A455D4BB91B4BAF,$50500019872DE160,$06D3BDF70C780288,$4C758882B65177BF,$543025611F0B06D0,$0640AF3F3B0AD27C
    Data.q $2FC5D42C2B4117FB,$E8587682AFFF065B,$580C04DFC30CAE59,$BFAA14D065849B08,$8016A3F710B0380B,$02029903CC0162A8,$B29740A0E291962C,$80C0414081AFC029,$BB2964FE9AC7BF79,$C395443A92137FC9
    Data.q $86E11F0FF46467BA,$0000000703DC4C89,$6042AE444E454900
    Data.b $82
;}
EndDataSection

UsePNGImageDecoder()
LanguageCode = #Language_ID
Debug QW_MessageRequester("hihi","it works. just add some text, or set another image, use the keys to select.",#PB_MessageRequester_YesNo,#PB_MessageRequester_Info)
Last edited by jamirokwai on Wed Nov 14, 2012 11:59 am, edited 7 times in total.
Regards,
JamiroKwai
jamirokwai
Enthusiast
Enthusiast
Posts: 796
Joined: Tue May 20, 2008 2:12 am
Location: Cologne, Germany
Contact:

Re: New Messagerequester

Post by jamirokwai »

Update 0.7.0
Resolved an issue with Keyboard-Shortcuts and Toolbar-Window

If someone likes to add more languages or icons, please don't hesitate :-)
Regards,
JamiroKwai
User avatar
KJ67
Enthusiast
Enthusiast
Posts: 218
Joined: Fri Jun 26, 2009 3:51 pm
Location: Westernmost tip of Norway

Re: New Messagerequester

Post by KJ67 »

You could add Swedish to if you like,

Code: Select all

Language_MSG_Swe:
  Data.s "Ja","Nej","Avbryt","OK"
  Data.l #PB_Shortcut_J, #PB_Shortcut_N, #PB_Shortcut_A, #PB_Shortcut_O
The best preparation for tomorrow is doing your best today.
jesperbrannmark
Enthusiast
Enthusiast
Posts: 536
Joined: Mon Feb 16, 2009 10:42 am
Location: sweden
Contact:

Re: New Messagerequester

Post by jesperbrannmark »

Very nice.
Are we able somehow (i am thinking mainly mac os now) to get the first letter underscore like

Yes No Cancel

I also believe you might need a

Code: Select all

If GetActiveWindow()
  DisableWindow(GetActiveWindow(),1)
EndIf
to inactive the previous window in Mac OS... and a equal one to enable it...
jamirokwai
Enthusiast
Enthusiast
Posts: 796
Joined: Tue May 20, 2008 2:12 am
Location: Cologne, Germany
Contact:

Re: New Messagerequester

Post by jamirokwai »

Update:
- added Icons to Code (no need of externals)
- added Swedish
- some optimizations
- added some remarks
- made cross-platform using CompilerIf
KJ67 wrote:You could add Swedish to if you like,

Code: Select all

Language_MSG_Swe:
  Data.s "Ja","Nej","Avbryt","OK"
  Data.l #PB_Shortcut_J, #PB_Shortcut_N, #PB_Shortcut_A, #PB_Shortcut_O
Added, thanks :-)
jesperbrannmark wrote:Very nice.
Are we able somehow (i am thinking mainly mac os now) to get the first letter underscore like

Yes No Cancel
That would be great to have.
I tried to change the color on Windows, but didn't quite succeed.
jesperbrannmark wrote:I also believe you might need a

Code: Select all

If GetActiveWindow()
  DisableWindow(GetActiveWindow(),1)
EndIf
to inactive the previous window in Mac OS... and a equal one to enable it...
Added, thanks. Works better now, I think.
Regards,
JamiroKwai
quasiperfect
Enthusiast
Enthusiast
Posts: 157
Joined: Tue Feb 13, 2007 6:16 pm
Location: Romania
Contact:

Re: New Messagerequester

Post by quasiperfect »

For Romanian this should work

Code: Select all

Language_MSG_Ro:
  Data.s "Da","Nu","Anuleaza","Continua"
  Data.l #PB_Shortcut_S,#PB_Shortcut_N,#PB_Shortcut_D,#PB_Shortcut_O
Registered user of PureBasic
User avatar
skywalk
Addict
Addict
Posts: 4210
Joined: Wed Dec 23, 2009 10:14 pm
Location: Boston, MA

Re: New Messagerequester

Post by skywalk »

If you want to add an optional timer so the Dialog will close after user-specified timeout?

Code snippets...

Code: Select all

Procedure QW_MessageRequester(Titel$,Text$,Art=#PB_MessageRequester_Ok,img=#PB_MessageRequester_Question,Timeout.i=0)

; ADD
ReqWin  = OpenWindow(#PB_Any,   0,  0, 400, hoehe, Titel$, #PB_Window_SystemMenu|#PB_Window_TitleBar|#PB_Window_ScreenCentered|#PB_Window_WindowCentered)
  If Timeout
    Protected.i QW_Timer = 99
    AddWindowTimer(ReqWin, QW_Timer, Timeout*1000)
  EndIf
  StickyWindow(ReqWin,1)

; ADD
      Case #PB_Event_Menu ;{ Keys for Result
        menu = EventMenu()
        Select menu
        Case 1 : ReqRaus = mydefres
        Case 2 : ReqRaus = mydefesc  
        Case 3 : ReqRaus = #PB_MessageRequester_Ok
        Case 4 : ReqRaus = #PB_MessageRequester_Yes
        Case 5 : ReqRaus = #PB_MessageRequester_No
        Case 6 : ReqRaus = #PB_MessageRequester_Cancel
        EndSelect
        ;}
      Case #PB_Event_Timer ;{ Timer Fired
        If EventTimer() = QW_Timer
          Break   ; or set the answer to a default? -> ReqRaus = #PB_MessageRequester_Cancel
        EndIf
      EndSelect

; Run with a 2 second timeout
Debug QW_MessageRequester("hihi","it works. just add some text, or set another image, use the keys to select.",#PB_MessageRequester_YesNo,#PB_MessageRequester_Question, 2)
The nice thing about standards is there are so many to choose from. ~ Andrew Tanenbaum
jamirokwai
Enthusiast
Enthusiast
Posts: 796
Joined: Tue May 20, 2008 2:12 am
Location: Cologne, Germany
Contact:

Re: New Messagerequester

Post by jamirokwai »

quasiperfect wrote:For Romanian this should work
Added, thanks.
skywalk wrote:If you want to add an optional timer so the Dialog will close after user-specified timeout?
Great Idea, added and updated in first post.
Regards,
JamiroKwai
User avatar
Azul
Enthusiast
Enthusiast
Posts: 109
Joined: Fri Dec 29, 2006 9:50 pm
Location: Finland

Re: New Messagerequester

Post by Azul »

Code: Select all

Language_MSG_Fi:
  Data.s "Kyllä","Ei","Peruuta","OK"
  Data.l #PB_Shortcut_K, #PB_Shortcut_E, #PB_Shortcut_P, #PB_Shortcut_O
.. and the users from Finland would like it :)

Code: Select all

; Hello, World!
jamirokwai
Enthusiast
Enthusiast
Posts: 796
Joined: Tue May 20, 2008 2:12 am
Location: Cologne, Germany
Contact:

Re: New Messagerequester

Post by jamirokwai »

Azul wrote:

Code: Select all

Language_MSG_Fi:
  Data.s "Kyllä","Ei","Peruuta","OK"
  Data.l #PB_Shortcut_K, #PB_Shortcut_E, #PB_Shortcut_P, #PB_Shortcut_O
.. and the users from Finland would like it :)
Thanks. See first post...
Regards,
JamiroKwai
wilbert
PureBasic Expert
PureBasic Expert
Posts: 3942
Joined: Sun Aug 08, 2004 5:21 am
Location: Netherlands

Re: New Messagerequester

Post by wilbert »

In case you are interested, for the dutch language it is like this

Code: Select all

 Language_MSG_NL:
    Data.s "Ja","Nee","Annuleer","OK"
    Data.l #PB_Shortcut_J,#PB_Shortcut_N,#PB_Shortcut_A,#PB_Shortcut_O
MachineCode
Addict
Addict
Posts: 1482
Joined: Tue Feb 22, 2011 1:16 pm

Re: New Messagerequester

Post by MachineCode »

Bug: On Windows, if I change the flag in the last line to #PB_MessageRequester_Info, it still shows the question mark...
Microsoft Visual Basic only lasted 7 short years: 1991 to 1998.
PureBasic: Born in 1998 and still going strong to this very day!
jamirokwai
Enthusiast
Enthusiast
Posts: 796
Joined: Tue May 20, 2008 2:12 am
Location: Cologne, Germany
Contact:

Re: New Messagerequester

Post by jamirokwai »

MachineCode wrote:Bug: On Windows, if I change the flag in the last line to #PB_MessageRequester_Info, it still shows the question mark...
Could you please try again. I do not have any Windows-OS to test. Thanks!
Last edited by jamirokwai on Wed Nov 14, 2012 12:01 pm, edited 1 time in total.
Regards,
JamiroKwai
User avatar
banghasan
New User
New User
Posts: 1
Joined: Wed Nov 14, 2012 10:30 am

Re: New Messagerequester

Post by banghasan »

;lang. indonesian

Code: Select all

Language_MSG_ID:
    Data.s "Ya","Tidak","Batal","OK"
    Data.l #PB_Shortcut_Y,#PB_Shortcut_T,#PB_Shortcut_B,#PB_Shortcut_O
jamirokwai
Enthusiast
Enthusiast
Posts: 796
Joined: Tue May 20, 2008 2:12 am
Location: Cologne, Germany
Contact:

Re: New Messagerequester

Post by jamirokwai »

banghasan wrote:;lang. indonesian

Code: Select all

Language_MSG_ID:
    Data.s "Ya","Tidak","Batal","OK"
    Data.l #PB_Shortcut_Y,#PB_Shortcut_T,#PB_Shortcut_B,#PB_Shortcut_O
Thanks! Added to first post.
Regards,
JamiroKwai
Post Reply