Едноредов Textbox |
Здравейте ( Вход | Регистрация )
Едноредов Textbox |
20:46:52, 12-July-2011, Tuesday
Коментар
#1
|
|
Засмян тъпоъгълник :D Група: Администратор Коментари: 1790 Регистриран: 21.07.08 Град: Това е място, населено с много хора. FPS: 60 Потребител № 1116 |
обект textbox, draw event
Код if view_current==0 { draw_set_halign(0);draw_set_font(uup);draw_set_valign(1);c(0); if mouse_check_button_pressed(mb_left) {if kwetwores(x1,y1,x2,y2) u3=1;else {u3=0;uce=0;}} //if noc==-1 draw_text(x2,(y1+y2)/2,nuc);else draw_text(x1,y12,nuc); if u3 { draw_line(x1+string_width(string_copy(nuc,1,nwn)),y12-string_height("0")/2-2,x1+string_width(string_copy(nuc,1,nwn)),y12+string_height("0")/2+2); if uce { draw_rectangle(x1+string_width(string_copy(nuc,1,nwn)),y12-string_height("0")/2-1,x1+string_width(string_copy(nuc,1,l4u)),y12+string_height("0")/2+2,0); if nwn!=l4u { var mn,mx;mn=min(nwn,l4u);mx=max(nwn,l4u);cai(); draw_text(x1+string_width(string_copy(nuc,1,mn)),y12,string_copy(nuc,mn+1,mx-mn)); c(0); } } if keyboard_check_pressed(ord("A"))&&keyboard_check(vk_control) {uce=1;l4u=0;nwn=string_length(nuc);} if keyboard_check_pressed(vk_home) {if keyboard_check(vk_shift)&&!uce {uce=1;l4u=nwn;}if !keyboard_check(vk_shift)&&uce {uce=0;} nwn=0;} if keyboard_check_pressed(vk_end) {if keyboard_check(vk_shift)&&!uce {uce=1;l4u=nwn;}if !keyboard_check(vk_shift)&&uce {uce=0;}nwn=string_length(nuc);} if !uce { if !keyboard_check_pressed(vk_control) if keyboard_check_pressed(vk_anykey) if (keyboard_lastkey>=65&&keyboard_lastkey<=90)||(keyboard_lastkey>=97&&keyboard_lastkey<=122)||(keyboard_lastkey>=192&&keyboard_lastkey<=255)|| (keyboard_lastkey>=40&&keyboard_lastkey<=41)||(keyboard_lastkey>=91&&keyboard_lastkey<=93)||(keyboard_lastkey>=48&&keyboard_lastkey<=57)||keyboard_lastkey==32 {if (zuc&&keyboard_lastkey>=48&&keyboard_lastkey<=57)||!zuc {nuc=string_insert(keyboard_lastchar,nuc,nwn+1);nwn+=1;} } if !keyboard_check(vk_shift) {if keyboard_check_pressed(vk_left) nwn=max(0,nwn-1);if keyboard_check_pressed(vk_right) nwn=min(string_length(nuc),nwn+1);} else {if keyboard_check_pressed(vk_left) {uce=1;l4u=nwn;nwn=max(0,nwn-1);}if keyboard_check_pressed(vk_right) {uce=1;l4u=nwn;nwn=min(string_length(nuc),nwn+1);}} if keyboard_check_pressed(vk_backspace)&&nwn>0 {nuc=string_delete(nuc,nwn,1);nwn-=1;} if keyboard_check_pressed(vk_delete)&&nwn<string_length(nuc) {nuc=string_delete(nuc,nwn+1,1);} if keyboard_check_pressed(ord("V"))&&keyboard_check(vk_control) if clipboard_has_text() { var niz,fl,usl;niz=clipboard_get_text();fl=1; if zuc {for(b=0;b<=string_length(niz);b+=1){usl=1;for(q=48;q<=57;q+=1)if string_char_at(niz,b)==chr(q) usl=0;}if usl fl=0;} if fl {nuc=string_insert(niz,nuc,nwn+1);nwn+=string_length(niz);} } } else { if !keyboard_check_pressed(vk_control) if keyboard_check_pressed(vk_anykey) if (keyboard_lastkey>=65&&keyboard_lastkey<=90)||(keyboard_lastkey>=97&&keyboard_lastkey<=122)||(keyboard_lastkey>=192&&keyboard_lastkey<=255)|| (keyboard_lastkey>=40&&keyboard_lastkey<=41)||(keyboard_lastkey>=91&&keyboard_lastkey<=93)||(keyboard_lastkey>=48&&keyboard_lastkey<=57)||keyboard_lastkey==32 {if (zuc&&keyboard_lastkey>=48&&keyboard_lastkey<=57)||!zuc { uce=0;var mn,mx;mn=min(nwn,l4u);mx=max(nwn,l4u);nuc=string_delete(nuc,mn+1,mx-mn);nwn=mn;nuc=string_insert(keyboard_lastchar,nuc,nwn+1);nwn+=1; } } if !keyboard_check(vk_shift) {if keyboard_check_pressed(vk_left) {uce=0;nwn=max(0,nwn-1);}if keyboard_check_pressed(vk_right) {uce=0;nwn=min(string_length(nuc),nwn+1);}} else {if keyboard_check_pressed(vk_left) {nwn=max(0,nwn-1);}if keyboard_check_pressed(vk_right) {nwn=min(string_length(nuc),nwn+1);}} if keyboard_check_pressed(vk_backspace)||keyboard_check_pressed(vk_delete) { var mn,mx;mn=min(nwn,l4u);mx=max(nwn,l4u);nuc=string_delete(nuc,mn+1,mx-mn);nwn=mn;l4u=mn; } if keyboard_check_pressed(ord("C"))&&keyboard_check(vk_control) { var mn,mx;mn=min(nwn,l4u);mx=max(nwn,l4u);clipboard_set_text(string_copy(nuc,mn+1,mx-mn)); } if keyboard_check_pressed(ord("X"))&&keyboard_check(vk_control) { var mn,mx;mn=min(nwn,l4u);mx=max(nwn,l4u);clipboard_set_text(string_copy(nuc,mn+1,mx-mn));nuc=string_delete(nuc,mn+1,mx-mn);nwn=mn;l4u=mn; } if keyboard_check_pressed(ord("V"))&&keyboard_check(vk_control) if clipboard_has_text() { var niz,fl,usl;niz=clipboard_get_text();fl=1; if zuc {for(b=0;b<=string_length(niz);b+=1){usl=1;for(q=48;q<=57;q+=1)if string_char_at(niz,b)==chr(q) usl=0;}if usl fl=0;} if fl {var mn,mx;mn=min(nwn,l4u);mx=max(nwn,l4u);nuc=string_delete(nuc,mn+1,mx-mn);nwn=mn;l4u=mn;nuc=string_insert(niz,nuc,nwn+1);nwn+=string_length(niz);} } } } draw_set_valign(0);draw_set_halign(0);cai(); } скрипт sazdaitextbox Код var ind;ind=instance_create(0,0,textbox); ind.x1=argument0;//координати ind.y1=argument1; ind.x2=argument2; ind.y2=argument3; ind.noc=argument4;//оставете го 0 ind.zuc=argument5;//дали да приема само цифри ind.uup=argument6;//шрифтът, с който да се рисува ind.nuc=""; ind.nwn=0; ind.l4u=0; ind.uce=0; ind.u3=0; ind.y12=(ind.y1+ind.y2)/2; return ind; скрипт cai Код draw_set_color(c_white);draw_set_alpha(1); скрипт c Код draw_set_color(argument0); скрипт kwetwores Код return (mouse_x>argument0&&mouse_y>argument1&&mouse_x<argument2&&mouse_y<argument3); Създавате полетата за писане само със скрипта, който връща индексът на обекта. После може да вземете написаното от променливата nuc пример за употреба: Код //create event tb=sazdaitextbox(5,5,100,25,0,0,font1); text=""; //step event text=tb.nuc; if keyboard_check_pressed(vk_enter) show_message("Написал си "+text); Почти завършен е, поддържа ctrl+a ctrl+c ctrl+v, home, end. -------------------- Цитат Пешо: 4:53:46 Я недейти са карайти тука че да ни ва зашливйъ |
|
|
10:51:24, 13-July-2011, Wednesday
Коментар
#2
|
|
Редовен бъбривко Група: Администратор Коментари: 661 Регистриран: 08.07.05 Град: Бургас Потребител № 44 |
И какво не хареса толкова на CC_TEXTBOX [GM ComCtl]?
Моята версия е като цяло по-добра от твоята и е част от Ръководства и Примери - забодените теми: http://gmc.pi-dev.com/index.php?act=atta...=post&id=22 -------------------- |
|
|
19:16:55, 13-July-2011, Wednesday
Коментар
#3
|
|
Засмян тъпоъгълник :D Група: Администратор Коментари: 1790 Регистриран: 21.07.08 Град: Това е място, населено с много хора. FPS: 60 Потребител № 1116 |
И какво не хареса толкова на CC_TEXTBOX [GM ComCtl]? Бях забравил за това нещо и затова направих каквото ми трябваше.-------------------- Цитат Пешо: 4:53:46 Я недейти са карайти тука че да ни ва зашливйъ |
|
|
Олекотена версия | Час: 22:02:19, 18.05.24 |