| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1751 人关注过本帖
标题:[求助]大家帮一下忙
只看楼主 加入收藏
乌鸦丘比特
Rank: 1
等 级:新手上路
威 望:2
帖 子:625
专家分:0
注 册:2004-7-19
收藏
 问题点数:0 回复次数:15 
[求助]大家帮一下忙

最近要编个软件急用,但我除了对C有些懂外其它一窍不通,DOS那种程序肯定是不能过的,

总想有个WINDOW的那种,于是想到了VC,可我对C++没有什么认识,所以要麻烦各位兄弟

一下,给我速成一下面向乌鸦的C++吧:

以下是乌鸦几个问题: (1)如何编一个WINDOWS的程序?就是窗口化的,不是DOS那种

(2)能否改变输出字体的大小和颜色?(有相关的函数吗)

(3)我的程序要写一个计时的时钟,关于这个有没有什么函数呢? (4)C++的文件操作函数和C有什么不同吗?

目前想要了解的就是这些,先谢谢大家了

PS:看来是时候开始面向对象了。

搜索更多相关主题的帖子: 函数 DOS 时钟 WINDOWS 
2004-11-25 21:27
kai
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:52
帖 子:3450
专家分:59
注 册:2004-4-25
收藏
得分:0 

乌鸦丘比特,

看了你的上文,我不禁想笑。没有笑你的意思啊。

不过你的概念确实比较模糊。我明白你的意思,你就是想写个有界面的程序,而不再是那种黑屏幕的程序。你的心情我可以理解。现在确实是告别那种趣味程序的时候了。你写了很多程序,我在C板块也看了你的一些程序,一些帖子,不能说完全没用,但这些程序只是在锻炼你的写程序的能力,没有这个阶段,你不可能成为程序员。但是,但是,这些程序没有实际价值。你现在碰到问题了,逼得你不得不写有界面的程序了。这就说,你的成长过程进入了新的阶段。来学习 windows programming 吧。

windows programming 可以从两个切入点进行编程,其一是MFC (Microsoft Fundation Class) 是封装了 api(application programming interface) 的对象化的类,这当然是C++的范畴,但是 MFC 不是C++ 本身。纯粹的C++是与操作系统无关的。而MFC 是用于编写Windows的 microsoft 的一个库,当然添加了与操作相关的函数。

现在我们来谈其二,在上面我们谈到了什么是MFC,显然MFC与WinApi 有关,那么很显然,直接使用 api 函数就可以编写 Windows Application 了。也就是说,只要你有C语言的基础,就可以学习 Windows编程了。需要学习的只是相关的 WinApi函数。

Viel Spass!!!


自由,民主,平等,博爱,进步.
中华民国,我的祖国,中华民国万岁!中华民国加油!
本人自愿加入中国国民党,为人的自由性,独立性和平等性而奋斗!
2004-11-26 04:28
乌鸦丘比特
Rank: 1
等 级:新手上路
威 望:2
帖 子:625
专家分:0
注 册:2004-7-19
收藏
得分:0 

谢谢KAI

还有个问题,是不是调用API函数要用VC等编译器?,

还有直接用C可以调用API函数吗?

还有由于我的时间有限,不能很系统地学API函数,你能不能就我提的

问题告诉我应该先学哪些函数呢?

[此贴子已经被作者于2004-11-26 12:39:47编辑过]


我喜欢创造,一只扑腾着翅膀向天空飞翔的乌鸦
2004-11-26 12:20
kai
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:52
帖 子:3450
专家分:59
注 册:2004-4-25
收藏
得分:0 

第一个问题,是不是调用API函数要用VC等编译器?

用VC编译器当然可以,VC 是Microsoft 为编译C,C++夺身订造的一款编译器,也用来编译windows 程序或称为WinProc 程序,由于VC的出台,使得Borland 公司一蹶不振。比较BC和VC马上就知道答案了。BC缺乏人性化设计,对于一个程序员Debug是工作的很大一部分,BC在辅助Debug上面作的很差。说到这里说了有些跑题了,不跟你讲故事了。回到问题上来,用其他的编译器当然也可以,比如Dev编译器也是可以的。关键的是编译器提供了相关的库函数。用BC也可以。不过,说老实话,对于windows programming 我从来没用过其他编译器,如果你跟我讨论如何使用其他编译器,我帮不了你什么忙,如果在VC宽竟下,我们可以讨论。

第二个问题,直接用C可以调用API函数吗?

看来你从来没写过WinProc 函数,有必要让你有点基础知识,你可以看看另外一个板块Windows 编程中我的一个帖子"all about windows programming" 有了一些基础知识后,你就清楚了。所谓用C编写windows 程序,是指用C的方法,也就是说,不牵涉到 class, 不牵涉到对象化编程。如果你明白C的话,你在了解了windows 程序的一个框架后,你便能看懂程序,在以后逐渐熟悉了解了WinApi 函数后,你就可以自己随心所欲编你的应用程序了。

第三问题,也可以回答你,不过你说时间有限,估计你在未来的两三个月内,完成这个项目会很困难。通常学习windows Programming with WinApi 至少半年以上。自己上手写程序,估计还需更多的时间。

你提到的关于字体的大小和颜色的设置方面的函数当然有,不过光是告诉你函数名不会有什么用的。我建议你先看看我的那个帖子。

在Windows编程中光是说字体就是老大一段。

字体分为与设备相关的字体集和与设备无关的字体集。如果你采用与设备无关的字体集,Windows 系统就能维护他的所见即所得性,也就是说,屏幕上显示的字体与打印机所打印的结果完全一致。为了操作文本或者说操作字体,需要首先获得文本handle, 应用程序还要设置字体,其大小,颜色等相关属性,并将其选入设备环境中。

如上所述,字体分设备相关(物理字体,为特殊设备所设计)和设备无关两类。被广泛使用的当然是设备无关字体,即逻辑字体。Windows系统提供了7种基本字体

ANSI_FIXED_FONT (ANSI 标准的固定宽度的字体)

ANSI_VAR_FONT (ANSI 标准的可变宽度的字体)

DEFAULT_GUI_FONT

DEVICE_DEFAULT_FONT (与设备有关的字体,在NT中使用)

OEM_FIXED_FONT(原设备制造商提供的字体)

SYSTEM_FONT(window 系统字体)

SYSTEM_FIXED_FONT(window 系统提供的固定高度的字体)

SYSTEM_FONT被采用作为系统界面字体。

选择系统字体执行以下步骤:

1)定义字体handle 变量  HFONT hF; // hF is handle of Font

2) to get the Fonthandle using GetStockObject: hF = GetStockObject();

3) select the font into device by invoking funcition SelectObject: (HFONT)SelectObject(hdc, hF);

你当然也可以创建自定义字体,以上7种字体变化实在太少。

通过调用CreateFont 来创建自定义字体。

他的函数形参太多。下面是关于这个函数 msdn 上的详细讲解

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/fontext_8fp0.asp

应用程序通过调用函数SetTextColor 来设置字体颜色,see link:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/fontext_8bsi.asp

通过调用函数SetBkColor 来设置背景颜色

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/pantdraw_433m.asp


自由,民主,平等,博爱,进步.
中华民国,我的祖国,中华民国万岁!中华民国加油!
本人自愿加入中国国民党,为人的自由性,独立性和平等性而奋斗!
2004-11-26 15:13
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 

我给你一个意见吧,如果你对C(不是指算法)语言有透彻的领悟,那么,basic语法的学习几乎易如翻掌,看小说似地看一遍,大同小异吗^_^,再去突击一下VB,

http://www.hongen.com/pc/program/tutors/vb/vb0001.htm

学VB并非没有好处,起码以后VBScript几乎就不用学了。用VB搞个界面很简单,你以后还可以用C做算法部分,VB做主程序界面,混合编程。


九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2004-11-26 15:51
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 
[QUOTE]

这就说,你的成长过程进入了新的阶段。来学习 windows programming 吧。

[/QUOTE]

感觉Kai版主拉人入伙上梁山似.......


九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2004-11-26 16:02
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
收藏
得分:0 

knocker 在C语言版不耐烦了吧,呵呵,过来学C++吧!

我再混淆一下,学C#更方便。。。

2004-11-26 16:12
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 
C++对我来说没什么必要学,至少现在没有必要。

九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2004-11-26 20:12
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
收藏
得分:0 
忽然发现自己不想再学编程了,好累了,现在想出家,看破红尘了。
2004-11-26 20:25
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
收藏
得分:0 
[em39] 唉,好累,忽然想放弃了。我宁愿是一个农民,不会用电脑。
2004-11-26 20:27
快速回复:[求助]大家帮一下忙
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.033864 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved