โดยปกติแล้ว เวลาที่เรากำหนด type of window เป็นแบบ respond เราจะไม่สามารถทำการปรับขนาดของ window ในขณะที่รัน application ได้ แต่เรามีวิธีทำได้โดยการเรียกใช้ API เข้ามาจัดการได้
โดยทำตามขั้นตอนดังนี้
ขั้นแรกให้ทำการกำหนดตัวแปรแบบ Local External Functions ดังนี้
function long GetWindowLongA (long hWindow, integer nIndex) Library "user32.dll"
function long SetWindowLongA (long hWindow, integer nIndex, long dwNewLong) library "user32.dll"
เสร็จแล้วก็กำหนดตัวแปรแบบ Global Variable สำหรับใช้อ้างถึง PFC service ตัวที่เราจะใช้ดังนี้
n_cst_numerical lnv_numerical
จากนั้นให้ทำการสร้าง function ขึ้นมามีการกำหนดค่าต่างๆลงไปดังนี้ และตั้งชื่อฟังก์ชั่นว่า resize ก็แล้วกัน
Name Type Pass
aw_window Window Value
ab_control Boolean Value
เสร็จแล้วก็เขียนสคริปต์ด้านล่างนี้ลงไป
long ll_Styles
boolean lb_Control
n_cst_numerical lnv_numerical
constant long WS_THICKFRAME = 262144
constant long WS_SYSMENU = 524288
ll_styles = GetWindowLongA(handle(aw_window), -16)
if ll_styles 0 then
ll_styles = lnv_num.of_BitWiseOr(ll_styles, WS_THICKFRAME)
if ab_Control then
ll_styles = lnv_num.of_BitWiseOr(ll_styles, WS_SYSMENU)
end if
return SetWindowLongA(handle(aw_window), -16, ll_styles)
end if
return -1
เมื่อเสร็จแล้วก็ต้องมีการทดลองใช้งานให้สร้าง วินโดวส์แบบ respond ขึ้นมาและคลิกเครื่องหมายที่ช่อง control menu ออกซะเสร็จแล้วก็ save และที่ open event ของตัว respond นี้ให้ทำการเขียนสคริปต์ลงไปดังนี้
resize(w_respond,true)
เสร็จแล้วก็ทดลองันดูนะครับลองเปรียบเทียบกับการที่เราไม่เรียกใช้ฟังก์ชั่นดังกล่าว เราจะพบว่าเมื่อมีการเรียกใช้ ฟังก์ชั่นตัวนี้เราจะสามารถปรับขนาดของ respond window ได้
บทความนี้มาจาก www.soopawat.com
กำหนด type of window เป็นแบบ respond
Latest News
- บทที่ 7-1 ตอน การสร้างระบบฐานข้อมูล
- บทที่ 6 ทดลองเขียนโปรแกรมด้วย PocketBuilder เบื้องต้น
- บทที่ 4 ติดตั้งdatabase sql anywhere
- บทที่ 7-2 ตอน การสร้างโปรแกรมแสดงรายการอาหารที่สั่ง ด้วย Powerbuilder 9
- บทที่ 3 ติดตั้งอุปกรณ์ และโปรแกรม Active Sync
- ทำชุด setup โปรแกรมด้วย Wise Install
- การติดตั้ง IIS
- ตัวอย่าง code โปรแกรมร้านเช่า VDO
- สมาชิก : 2
- Content : 336
- เว็บลิงก์ : 8
- จำนวนครั้งเปิดดูบทความ : 159044


