`
zzysh
  • 浏览: 53293 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
文章列表
Objective-C 2.0增加了一些新的东西,包括属性和垃圾回收。那么,我们在学习Objective-C 2.0之前,最好应该先了解,从前是什么样的,为什么Objective-C 2.0要增加这些支持。 这一切都跟Cocoa内存的管理规则有关系,我们知道,Objective-C中所有变量都定义为指针。指针是一个特殊的变量,它里面存储的数值被 解释成为内存里的一个地址,如果使用不当,就会出错或者造成内存的泄露。要了解这些,就需要看看其内存管理的规则到底是什么样的。 这篇文章也应该做为苹果开发工具中提供的性能调试工具Instruments使用前必读知识进行阅读。Cocoa China将 ...
俗话说,“工欲善其事,必先利其器”,所以学习Objective-C的第一件事就是配置Objective-C下面的开发环境。有苹果机的幸福在 于,可以很方便的在XCode下面写Objective-C的程序。可惜的是不能整天带着我的大熊猫到处跑,所以也有必 ...
之前说过, 修改窗口大小,窗口样式的方法。 这里说明一下修改窗口的图标,光标和背景的方法。 修改窗口大小,样式是在创建窗口的时候进行的,而修改图标,光标和背景是在设计窗口类的时候进行的。 由于MFC封装了相关操作。 所以我们需要将自己写的窗口类应用到MFC的框架中。   1. 通过窗口类进行修改 在BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)方法中添加窗口类,如: WNDCLASS wndcls; wndcls.cbClsExtra = 0; wndcls.cbWndExtra = 0; wndcls.hbrBackgr ...
在MFC里面,更改窗口大小和样式是在创建窗口的时候做的,而窗口的图标,背景,光标样式是通过设计窗口类的时候实现的(下篇文章会详细说明)。 更改窗口大小和样式有两种方式: 1. 在窗口创建之前,在BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)函数中,修改其中的CREATESTRUCT结构的属性来改变窗口的样式。 typedef struct tagCREATESTRUCT { LPVOID lpCreateParams; HINSTANCE hInstance; HMENU hMenu; HWND hwn ...
Shift+Alt+Enter: 切换全屏编辑 -- 这个比较有用 Alt+右键头 自动补齐函数名 Ctrl+m+Crtr+o折叠所有大纲 Ctrl+M+Crtr+P: 停止大纲显示 Ctrl+K+Crtr+C : 注释选定内容 Ctrl+K+Crtr+U : 取消选定注释内容 Ctrl+J : 列出成员 智能感知 Ctrl+B,T / Ctrl+K,K: 切换书签开关 Ctrl+B,N / Ctrl+K,N: 移动到下一书签 Ctrl+B,P: 移动到上一书签 Ctrl+B,C: 清除全部标签 Ctrl+I: 渐进式搜索 Ctrl+Shift+I: 反向渐进式搜索 ...
首先强调一点, Menu是归属在MainFrame中的。   所以动态创建菜单需要在MainFrame中完成,当然也不是必须的。 只是这样比较方便而已。   在CMainFrame的OnCreate事件处理函数中添加以下代码:   CMenu menu; menu.CreatePopupMenu(); GetMenu()->AppendMenuW(MF_POPUP,(UINT) menu.m_hMenu, _T("VC++")); menu.AppendMenuW(MF_STRING, 111, _T("Hello")); menu.Appen ...
今天看到了第6章,发现VC6跟VC9还是有很大的不同。   教材里面本章教授的添加右键菜单的方式,新版似乎没有了。   要在MFC中添加右键菜单,在VC9中需要以下步骤:   1. 在资源中添加菜单。 添加一个PopUP Menu,然后增加几个你需要的子菜单。 给这个菜单取个名字。如 IDR_POPUP 2. 在View中添加OnRButtonDown事件处理程序,添加如下代码: CMenu menu; menu.LoadMenuW(IDR_POPUP); CMenu *pPopup = menu.GetSubMenu(0); ClientToScreen(&point);//转换客户 ...
开始学习孙鑫的Vc++ 深入详解。 使用vista 64位简体中文旗舰版和Visual Studio 2008简体中文版编译   其中遇到一个问题,就是缺省设置情况下会产生很多下面的错误 写道 无法从“const char [6]”转换为“LPCWSTR”  原因是Visual Studio 2008默认使用的是unicode,需要在项目->配置属性->常规中指定字符集为多字符集。此问题VC 6.0不存在     #include <windows.h> #include <iostream> /* Windows Hello World程序 编写Wi ...
Installing Ruby, Rubygems, Rails, and Mongrel on Mac OS X 10.5 (Leopard) These are instructions for compiling and installing Ruby, Rubygems, Ruby on Rails, and Mongrel on Mac OS X 10 .5 (Leopard). If you already know why I write these tutorials, if you already have /usr/local in your path, ...
1. 安装aptana studio 1.2 2. 在My Aptana中选择Plugins, 安装 Aptana RadRails 3. 设置RadRails中的属性,General>workspace中指定utf-8编码 4. Ruby>Installed Interpreters>Ruby中指定Ruby安装目录 5. 在Ruby>Rake中选择D:\ruby\bin\rake,注意不是rake.exe 6. 在Rails中的Rails path中设置D:\Ruby\bin\rails 7. 在mongrel_rails path中设置D:\Ruby\bin\mong ...

深入理解sudo

以前没有太在意这方面的知识,现整理如下: 用root用户登录或用su - 切换到root用户,使用visudo命令,方法跟vi一样   赋予用户在所有主机上的所有权限 在最后一行加入 your_user_name ALL=(ALL) ALL 第一个ALL表示主机,后两个ALL表示权限 保存即可。   指定主机别名 为了方便设置一批主机,可以在文件中定义别名,如 Host_Alias FILESERVERS = fs1, fs2   指定用户别名 用户同样可以设置别名,方便定义一组用户,如: User_Alias ADMINS = jsmith, mikem   指定命令别 ...

Python date测试

import datetime, calendar today = datetime.date.today() oneday = datetime.timedelta(days=1) # loop back to most recent Friday (could be today) # takes care of end of month and even leap years friday = today while friday.weekday() != calendar.FRIDAY: friday -=oneday oneweek = datetime ...
# -*- coding: UTF-8 -*- #递归算法 def recursion(n): if (n<1): return 0 elif (n<3): return 1 else: return recursion(n-1)+recursion(n-2) #循环算法 def loop(n): print 1,1, a,b = 1,2 i = 2 while i <= n: print b, a,b = b, a+b i += 1 if __name__=="__main_ ...
■斐波拉契数列的简介   斐波拉契数列(又译作&ldquo;斐波那契数列&rdquo;或&ldquo;斐波那切数列&rdquo;)是一个非常美丽、和谐的数列,它的形状可以用排成螺旋状的一系列正方形来说明(如右词条图),起始的正方 ...
Global site tag (gtag.js) - Google Analytics