上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
Patrick Wu
註冊時間: 2007-01-03 文章: 228 來自: 台北市
第 1 樓
|
發表於: 星期一 一月 15, 2007 10:32 am 文章主題: 螢幕解析度的問題 |
|
|
先感謝 版主 及 各位 前輩 有了這個網站 為我解決了不少的問題 相當的感謝各位
螢幕解析度的問題 參考了 此程式 研究了幾天 或許是本人的程度不夠 有些地方無
法理解 程式如下
IF SYSMETRIC(1) <> 800 &&&&&& *-- 重新調整表單的大小和位置
PUBLIC M->SCR_WID , M->SCR_HIG
STORE ( SYSMETRIC(1) / 800 ) TO M->SCR_WID
STORE ( SYSMETRIC(2) / 600 ) TO M->SCR_HIG
WITH THIS
.WIDTH = .WIDTH * M->SCR_WID
.HEIGHT = .HEIGHT * M->SCR_HIG
.LEFT = .LEFT * M->SCR_WID
.TOP = .TOP * M->SCR_HIG
FOR nCONTROLLOOP = 1 TO .CONTROLCOUNT
.CONTROLS[nCONTROLLOOP].WIDTH = .CONTROLS[nCONTROLLOOP].WIDTH * M->SCR_WID
.CONTROLS[nCONTROLLOOP].HEIGHT = .CONTROLS[nCONTROLLOOP].HEIGHT * M->SCR_HIG
.CONTROLS[nCONTROLLOOP].LEFT = .CONTROLS[nCONTROLLOOP].LEFT * M->SCR_WID
.CONTROLS[nCONTROLLOOP].TOP = .CONTROLS[nCONTROLLOOP].TOP * M->SCR_HIG
IF PEMSTATUS(.CONTROLS[nCONTROLLOOP],"FONTSIZE",5)
.CONTROLS[nCONTROLLOOP].FONTSIZE = .CONTROLS[nCONTROLLOOP].FONTSIZE * M->SCR_HIG
ENDIF
ENDFOR
ENDWITH
WITH THISFORM.SYS_PAGE.客戶管理
FOR nCONTROLLOOP = 1 TO .CONTROLCOUNT
.CONTROLS[nCONTROLLOOP].WIDTH = .CONTROLS[nCONTROLLOOP].WIDTH * M->SCR_WID
.CONTROLS[nCONTROLLOOP].HEIGHT = .CONTROLS[nCONTROLLOOP].HEIGHT * M->SCR_HIG
.CONTROLS[nCONTROLLOOP].LEFT = .CONTROLS[nCONTROLLOOP].LEFT * M->SCR_WID
.CONTROLS[nCONTROLLOOP].TOP = .CONTROLS[nCONTROLLOOP].TOP * M->SCR_HIG
IF PEMSTATUS(.CONTROLS[nCONTROLLOOP],"FONTSIZE",5)
.CONTROLS[nCONTROLLOOP].FONTSIZE = .CONTROLS[nCONTROLLOOP].FONTSIZE * M->SCR_HIG
ENDIF
ENDFOR
ENDWITH
WITH THISFORM.SYS_PAGE.開立帳單
FOR nCONTROLLOOP = 1 TO .CONTROLCOUNT
.CONTROLS[nCONTROLLOOP].WIDTH = .CONTROLS[nCONTROLLOOP].WIDTH * M->SCR_WID
.CONTROLS[nCONTROLLOOP].HEIGHT = .CONTROLS[nCONTROLLOOP].HEIGHT * M->SCR_HIG
.CONTROLS[nCONTROLLOOP].LEFT = .CONTROLS[nCONTROLLOOP].LEFT * M->SCR_WID
.CONTROLS[nCONTROLLOOP].TOP = .CONTROLS[nCONTROLLOOP].TOP * M->SCR_HIG
IF PEMSTATUS(.CONTROLS[nCONTROLLOOP],"FONTSIZE",5)
.CONTROLS[nCONTROLLOOP].FONTSIZE = .CONTROLS[nCONTROLLOOP].FONTSIZE * M->SCR_HIG
ENDIF
ENDFOR
ENDWITH
WITH THISFORM.SYS_PAGE.出國行程
FOR nCONTROLLOOP = 1 TO .CONTROLCOUNT
.CONTROLS[nCONTROLLOOP].WIDTH = .CONTROLS[nCONTROLLOOP].WIDTH * M->SCR_WID
.CONTROLS[nCONTROLLOOP].HEIGHT = .CONTROLS[nCONTROLLOOP].HEIGHT * M->SCR_HIG
.CONTROLS[nCONTROLLOOP].LEFT = .CONTROLS[nCONTROLLOOP].LEFT * M->SCR_WID
.CONTROLS[nCONTROLLOOP].TOP = .CONTROLS[nCONTROLLOOP].TOP * M->SCR_HIG
IF PEMSTATUS(.CONTROLS[nCONTROLLOOP],"FONTSIZE",5)
.CONTROLS[nCONTROLLOOP].FONTSIZE = .CONTROLS[nCONTROLLOOP].FONTSIZE * M->SCR_HIG
ENDIF
ENDFOR
ENDWITH
WITH THISFORM.SYS_PAGE.其他作業
FOR nCONTROLLOOP = 1 TO .CONTROLCOUNT
.CONTROLS[nCONTROLLOOP].WIDTH = .CONTROLS[nCONTROLLOOP].WIDTH * M->SCR_WID
.CONTROLS[nCONTROLLOOP].HEIGHT = .CONTROLS[nCONTROLLOOP].HEIGHT * M->SCR_HIG
.CONTROLS[nCONTROLLOOP].LEFT = .CONTROLS[nCONTROLLOOP].LEFT * M->SCR_WID
.CONTROLS[nCONTROLLOOP].TOP = .CONTROLS[nCONTROLLOOP].TOP * M->SCR_HIG
IF PEMSTATUS(.CONTROLS[nCONTROLLOOP],"FONTSIZE",5)
.CONTROLS[nCONTROLLOOP].FONTSIZE = .CONTROLS[nCONTROLLOOP].FONTSIZE * M->SCR_HIG
ENDIF
ENDFOR
ENDWITH
ENDIF
************************************************************
問題 1 : 如何將 WITH THISFORM.SYS_PAGE.客戶管理
WITH THISFORM.SYS_PAGE.開立帳單
WITH THISFORM.SYS_PAGE.出國行程
WITH THISFORM.SYS_PAGE.其他作業 這 4 PAGE 程式簡化
像是 WITH 裡的 FOR nCONTROLLOOP = 1 TO .CONTROLCOUNT 而不用每
個 PAGE 都來一次 FOR nCONTROLLOOP = 1 TO .CONTROLCOUNT
問題 2 : FONTSIZE 解決了 但 字型 如何 寫
感謝各位 的再次指導 |
|
回頂端 |
|
 |
Patrick Wu
註冊時間: 2007-01-03 文章: 228 來自: 台北市
第 2 樓
|
發表於: 星期一 一月 15, 2007 1:02 pm 文章主題: |
|
|
.BUTTONS[nCONTROLLOOP].FONTNAME = "新細明體" |
|
回頂端 |
|
 |
garfield Site Admin

註冊時間: 2003-01-30 文章: 2160
第 3 樓
|
發表於: 星期一 一月 15, 2007 3:21 pm 文章主題: |
|
|
建議用副程式解決繁瑣重複的問題. 或是提醒你一下 form 也有 CONTROLCOUNT 就像你用 .controls( ? ) 一樣
thisform.setsize( THISFORM.SYS_PAGE.客戶管理 )
thisform.setsize( THISFORM.SYS_PAGE.開立帳單 )
..
....
*setsize 自定的 method
lpara mobj
with mobj
FOR nCONTROLLOOP = 1 TO .CONTROLCOUNT
.CONTROLS[nCONTROLLOOP].WIDTH = .CONTROLS[nCONTROLLOOP].WIDTH * M->SCR_WID
.CONTROLS[nCONTROLLOOP].HEIGHT = .CONTROLS[nCONTROLLOOP].HEIGHT * M->SCR_HIG
.CONTROLS[nCONTROLLOOP].LEFT = .CONTROLS[nCONTROLLOOP].LEFT * M->SCR_WID
.CONTROLS[nCONTROLLOOP].TOP = .CONTROLS[nCONTROLLOOP].TOP * M->SCR_HIG
IF PEMSTATUS(.CONTROLS[nCONTROLLOOP],"FONTSIZE",5)
.CONTROLS[nCONTROLLOOP].FONTSIZE = .CONTROLS[nCONTROLLOOP].FONTSIZE * M->SCR_HIG
ENDIF
ENDFOR
endwith _________________ 利用>>搜尋<<的功能會比問的還要快得到答案. |
|
回頂端 |
|
 |
Patrick Wu
註冊時間: 2007-01-03 文章: 228 來自: 台北市
第 4 樓
|
發表於: 星期二 一月 16, 2007 12:42 pm 文章主題: |
|
|
謝謝 Garfield 的指導 但 LPARAMETERS MOBJ 為何 VFP 不吃 (無效的命令) 請再次提示 謝謝 (或許我的程度真的很低 請不佞指教) |
|
回頂端 |
|
 |
garfield Site Admin

註冊時間: 2003-01-30 文章: 2160
第 5 樓
|
發表於: 星期二 一月 16, 2007 1:52 pm 文章主題: |
|
|
要在你的 form 裡增加一個自定的"方法程序"(method ) 它的名字叫 setsize
lpara mobj 這行以後的程式碼就放在這個 method 裡面 _________________ 利用>>搜尋<<的功能會比問的還要快得到答案. |
|
回頂端 |
|
 |
Patrick Wu
註冊時間: 2007-01-03 文章: 228 來自: 台北市
第 6 樓
|
發表於: 星期二 一月 16, 2007 2:34 pm 文章主題: |
|
|
謝謝 Garfield 的指導
在 form 裡增加一個自定的"方法程序"(method ) 它的名字叫 setsize => 我做了 再試試 謝謝
我會努力的學習 |
|
回頂端 |
|
 |
Patrick Wu
註冊時間: 2007-01-03 文章: 228 來自: 台北市
第 7 樓
|
發表於: 星期二 一月 16, 2007 2:41 pm 文章主題: |
|
|
謝謝 Garfield 的指導 測試 成功 相當的感謝 |
|
回頂端 |
|
 |
|