发信人: foxzz() 
整理人: hunter__fox(2002-03-16 22:47:22), 站内信件
 | 
 
 
请参考: 
 1、本来菜单生成器中是没有字体的选项的。 
 2、利用菜单生成器的 选项中 跳过(K) 即SKIP FOR 中编写代码 
    代码为: .F.  FONT '宋体',12 
 3、实际上,生成的代码为:  skip for .f. FONT '宋体',12 
    这样就达到了改变菜单子项字体的目的。 
    但顶层菜单的字体是不会改变的。 
 4、菜单生成后,您可以modi menu mymenu1.mpr 
 5、如果想完全解决问题,可以利用API。 
    在进入系统时改变分辨率,使用户操作环境与开发环境匹配。 
    可以参考有关vb的文章。 
   作 者: wangjd (wxfox) 1999.09.18 修改 删除 转贴 打包 回复 加至精华区 
 【 在 yztjjf (老云) 的大作中提到: 】 
 :   各位大侠: 
 :       如何改变菜单的字体大小,多谢! 
 你可把VFP自带的菜单生成程序改一下,(genmenu.prg,改之前最好备份一下) 
 具体是将GENMENU。PRG中 FUNCTION defbars 函数改一下 
 FUNCTION defbars 
 PARAMETER m.popname, m.howmany, m.newname 
 IF EMPTY(m.newname) 
 m.newname = m.popname 
 ENDIF 
 PRIVATE m.itemno, m.prompt,m.name, m.cPopExpr 
 SCAN FOR objtype=c_item AND LOWER(levelname)=m.popname 
    m.itemno = ALLTRIM(itemnum) 
    m.cPopExpr = IIF(m.g_inform, "(a_menupops["+ALLTRIM(STR(ASCAN(g_apo 
 ps,LOWER(m.newname))))+"])", LOWER(m.newname)) 
    IF NOT EMPTY(ALLTRIM(name)) 
       m.name = name 
       \DEFINE BAR <<m.name>> OF <<m.cPopExpr>> 
    ELSE 
       \DEFINE BAR <<m.itemno>> OF <<m.cPopExpr>> 
    ENDIF 
    m.prompt = SUBSTR(PROMPT, 1,LEN(PROMPT)) 
 ********************************************************************** 
 *   \\ PROMPT "<<m.prompt>>"                    &&原来语句 
    \\ PROMPT "<<m.prompt>>" FONT "宋体",12 STYLE 'BI' &&改过之后,这里的 
 "12"就是字体大小 
 **  以后自动生成的菜单字体大小就是你需要的 
 ********************************************************************** 
    DO addmark 
    DO addkey 
    DO addskipfor 
    DO addmessage 
    IF VAL(m.itemno)=m.howmany 
       RETURN 
    ENDIF 
 ENDSCAN  | 
 
 
 |