Subversion Repositories Kolibri OS

Rev

Rev 806 | Blame | Last modification | View Log | Download | RSS feed

  1. //EditBox in C-- example v0.1
  2. //Veliant 2007 Leency 2008
  3.  
  4. #pragma option A
  5. #codesize
  6. #include "..\lib\kolibri.h--"
  7. #include "use_library.h--"
  8. //////////////////////////////////////////////////////////////////
  9. //Bit mask from editbox
  10. //////////////////////////////////////////////////////////////////
  11.  
  12. //char edit_path[256] = "You can edit me!"; //ñîäåðæèìîå EditBox'a
  13. char way_of_ini[250] = "/sys/lib/box_lib.obj",NULL; //ñîäåðæèìîå EditBox'a
  14.  
  15. edit_box edit1= {250,14,35,0xffffff,0x6f9480,0,0xAABBCC,0,248,#way_of_ini,2,20,20};
  16.  
  17. //ed_width        equ [edi]               ;è¨à¨­  ª®¬¯®­¥­â 
  18. //ed_left         equ [edi+4]             ;¯®«®¦¥­¨¥ ¯® ®á¨ å
  19. //ed_top          equ [edi+8]             ;¯®«®¦¥­¨¥ ¯® ®á¨ ã
  20. //ed_color        equ [edi+12]            ;梥â ä®­  ª®¬¯®­¥­â 
  21. //shift_color     equ [edi+16]            ;=0x6a9480
  22. //ed_focus_border_color   equ [edi+20]    ;梥â à ¬ª¨ ª®¬¯®­¥­â 
  23. //ed_blur_border_color    equ [edi+24]    ;梥⠭¥  ªâ¨¢­®£® ª®¬¯®­¥­â 
  24. //ed_text_color   equ [edi+28]            ;梥â ⥪áâ 
  25. //ed_max          equ [edi+32]            ;ª®«-¢® ᨬ¢®«®¢ ª®â®àë¥ ¬®¦­® ¬ ªá¨¬ «ì­® ¢¢¥áâ¨
  26. //ed_text         equ [edi+36]            ;㪠§ â¥«ì ­  ¡ãä¥à
  27. //ed_flags        equ [edi+40]            ;ä« £¨
  28. //ed_size equ [edi+42]                    ;ª®«-¢® ᨬ¢®«®¢
  29. //ed_pos  equ [edi+46]                    ;¯®§¨æ¨ï ªãàá®à 
  30. //ed_offset       equ [edi+50]            ;ᬥ饭¨¥
  31. //cl_curs_x       equ [edi+54]            ;¯à¥¤ë¤ã饥 ª®®à¤¨­ â  ªãàá®à  ¯® å
  32. //cl_curs_y       equ [edi+58]            ;¯à¥¤ë¤ã饥 ª®®à¤¨­ â  ªãàá®à  ¯® ã
  33. //ed_shift_pos    equ [edi+62]            ;¯®«®¦¥­¨¥ ªãàá®à 
  34. //ed_shift_pos_old equ [edi+66]           ;áâ à®¥ ¯®«®¦¥­¨¥ ªãàá®à 
  35.  
  36. proc_info       Form;
  37.  
  38.  
  39. void main()  
  40. byte id;
  41. {
  42.    load_dll();
  43.      
  44.         draw_window();
  45.         loop()
  46.         {
  47.                 switch(WaitEvent())
  48.                 {
  49.              //Button pressed----------------------------------------------------
  50.                         CASE evButton:
  51.                                 id=GetButtonID();
  52.                                 IF (id==1) || (id==2) ExitProcess();
  53.                                         break;
  54.                 //Key pressed-------------------------------------------------------
  55.                         case evKey:
  56.                                    GetKey();
  57.                         edit_box_key stdcall (#edit1);
  58.                                   break;
  59.                            
  60.                         case evReDraw: draw_window();   break;
  61.                      //   default: break;              
  62.                 }      
  63.  
  64.  
  65.                 edit_box_mouse stdcall (#edit1);
  66.              
  67.          }
  68.                
  69.         ExitProcess();
  70. }
  71.  
  72. void draw_window()
  73. {
  74.         WindowRedrawStatus(1);
  75.         skin_width = GetSkinWidth();
  76.         DefineAndDrawWindow(400,200,280,200,0x04,0x00E4DFE1,0,0,0); DrawTitle("Extended EditBox in C--");
  77.         Form.getme();
  78.         //òåêñò
  79.                 WriteText(30,40,0x80,0," ¨¯à®á⥩訩 ¯à¨¬¥à EditBox'a ­  ‘--",0);
  80.                 WriteText(30,50,0x80,0,"® ¥£® ¬®¦­® ­¥¬­®£® ãá«®¦­¨âì á 楫ìî",0);
  81.                 WriteText(30,60,0x80,0,"㬥­ì襭¨ï ¯¥à¥à¨á®¢ª¨.",0);
  82.         //êíîïû
  83.                 DrawFlatButton(100,105,70,22,2,0xD7D7D7,"Close");
  84.         //EditBox
  85.        // DrawRegion(30,14,201,16,0x94AECE); //îáîäîê ïîëîñû àäðåñà
  86.  
  87.        
  88.         edit_box_draw  stdcall (#edit1);
  89. //      typedef void (*edit_box_draw)(dword edit_b); // îáúÿâëåíèå óêàçàòåëÿ íà ôóíêöèþ
  90. //      edit_box_draw(edit_b); // âûçîâ ôóíêöèè
  91.  
  92.         WindowRedrawStatus(2);
  93. }
  94.  
  95.  
  96. stop:
  97.