Halo PB'ers

Saya pemula di dunia PB, pake PB9.

Saya mencoba membuat fungsi f_tomboltekan (dari buku mas syahrial chan)

Adapun codenya ada sbb :
// Usage : f_tomboltekan (dw, keycode, keyflags)


int li_column_number,li_column_count
boolean lb_enter,lb_dwnrow,lb_keytab,lb_pagedwn
boolean lb_pageup, lb_uparrow

string setting

setting = dw.Object.DataWindow.Label.Sheet
setting = dw.Object.DataWindow.type
        

lb_enter        = keydown(keyenter!)
lb_dwnrow       = keydown(keydownarrow!)
lb_keytab       = keydown(keytab!)
lb_pagedwn      = keydown(keypagedown!)
lb_pageup       = keydown(keypageup!)
lb_uparrow      = keydown(keyuparrow!)

li_column_number = dw.getcolumn() 
//messagebox("",li_column_number)
li_column_count = integer(dw.object.datawindow.column.count)

if isnull(first_column) then 
        first_column = 1
end if

if keyflags = 0 or keyflags = 2 or keyflags = 3 then
        
        if lb_enter or lb_dwnrow or lb_keytab or lb_pagedwn then 
        
                if li_column_number = 
integer(dw.object.datawindow.column.count) then 
                        dw.setcolumn(first_column)
                else
                        dw.setcolumn(li_column_number + 1)
                end if
                                
        elseif lb_pageup or lb_uparrow then
                
                if li_column_number = 1 then 
                        dw.setcolumn(integer(dw.object.datawindow.column.count))
                else
                        dw.setcolumn(li_column_number - 1)
                end if

   end if
        
elseif keyflags = 1 then
        
        if lb_pageup or lb_uparrow then
                
                if li_column_number = 
integer(dw.object.datawindow.column.count) then 
                        dw.setcolumn(first_column)
                else
                        dw.setcolumn(li_column_number + 1)
                end if
        
   elseif lb_enter or lb_dwnrow or lb_keytab or lb_pagedwn then 
                
                if li_column_number = 1 then 
                        dw.setcolumn(integer(dw.object.datawindow.column.count))
                else
                        dw.setcolumn(li_column_number - 1)
                end if
        end if 
else
        return 0 //mengaktifkan penekanan tombol standar
end if

return 1 //mematikan penekanan tombol standar

Saya membuat DW FreeForm yg memiliki 20 kolom, DW ini di-set
VScrollBar dan HScrollBar.

Pada saat di-run, dw hanya menampilkan data sekitar 8 kolom, sisanya
ada dibagian bawah bawah, kalau di scroll maka akan keliatan.

Dengan fungsi tsb diatas telah memungkinkan saya menggunakan [PANAH
ATAS] atau [PANAH BAWAH] untuk menggeser pointer-aktif ke kolom atas
atau bawah.

Persoalannya : Pada saat posisi pointer di kolom ke 8 dan saya tekan
tombol [PANAH BAWAH] maka pointer menuju ke kolom 9, akan tetapi
seakan-akan DW tdk melakukan scroll.

Bagaimana caranya ? Mohon dikoreksi script diatas

Thanks in advance

Regards,
Steven 081 2604 1581




-----------------------------------------------
IndoPB - Indonesia PB User Group 
An Indonesian PowerBuilder User Group's Event
2nd PowerBuilder Update
Rumah Sakit Jantung Harapan Kita
26/27 August 2006
To Register : 
http://groups.yahoo.com/group/indopb/database?method=addRecord&tbl=4 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/indopb/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/indopb/join
    (Yahoo! ID required)

<*> To change settings via email:
    mailto:[EMAIL PROTECTED] 
    mailto:[EMAIL PROTECTED]

<*> To unsubscribe from this group, send an email to:
    [EMAIL PROTECTED]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 

Kirim email ke