SOUI 布局全部采用相对坐标,由 pos,offset(pos2type), size, width,height 这几个个窗口属性配合指定

size, width, height 属性

size, width, height 比较简单,是用来指定窗口的大小的,只有在 pos 属性指定的值个数不为 4 时生效。

size 是 2014 年底增加的布局属性,size=”width,height”。

width, height 可以有 3 种值:full,-1, 非负整数。

为 full 时,代表高度或者宽度和父窗口的客户区大小相等。

-1 代表根据窗口内容自动计算窗口大小。

非负整数直接指定窗口大小。

在图片控件中,控件是指定的皮肤默认大小。
在文本控件中,还可以指定一个 maxWidth 属性,控件是文本内容的大小,但宽度不超过 maxWidth。

pos 属性

pos 属性可以指定 4 个值,也可以指定 2 个值。指定 4 个值时,分别代表控件的 left,top,right,bottom,
指定两个值时代表控件的 x,y,具体位置还依赖于另外 3 个参数。

自动计算就设置为-1

指定 4 个值时,pos 目前支持 7 种标志:|,%,[,],{,},@

“|” 代表参考父窗口的中心;如 |-10 代表在父窗口的中心向左 / 上偏移 10 象素。

“%” 代表在父窗口的百分比,可以是小数,负数。如:%40 代表在父窗口的 40% 位置,%-40 则等价于 (1-40%)。

“[” 相对于前一兄弟窗口。用于 X 时,参考前一兄弟窗口的 right,用于 Y 时参考前一兄弟窗口的 bottom

“]” 相对于后一兄弟窗口。用于 X 时,参考后一兄弟的 left, 用于 Y 时参考后一兄弟的 top

“{” 相对于前一兄弟窗口。用于 X 时,参考前一兄弟窗口的 left,用于 Y 时参考前一兄弟窗口的 top

“}” 相对于后一兄弟窗口。用于 X 时,参考后一兄弟的 right, 用于 Y 时参考后一兄弟的 bottom

“@” 标志用来指定窗口的大小,只能出现在 pos 属性的第 3,4 个值中,用来标识窗口的宽度。当后面的值为负时,代表自动计算窗口的宽度或者高度(2015.3.3 新增加解释)。

注:“|“, “[“ ,”]”, “{“, “}” 中指定的值都可以为正或者负,正时向右或者下偏移,负则向左或者上偏移。

当没有上述标志时,负号代表参考父窗口的右边或者下边缩进绝对值位置。如:pos=”0,0,-0,-0” 代表占满父窗口。而 pos=”10,10,-10,-10” 则代表在父窗口的基础上向内全部缩进 10 点。

@: 指定窗口的 size。只能用于 x2,y2,用于 x2 时,指定窗口的 width,用于 y2 时指定窗口的 height。注:只能为正值,负号会自动忽略。

其中 “{” 和“}”是 SOUI 在 DUIENGINE 的基础上新增加的布局标志(SOUI 是在 DUIENGINE 的基础上全面重构而来)。

注意!!! 由于系统运行向前及向后引用,理论上有可能出来循环引用,导致界面布局失败,因此在使用 “[“,”{“,“}” 和 “]” 这几个标志时需要特别注意。

当 pos 只指定了 x1,y1 时,通常需要和 offset(或者 pos2type),size(或者 width,height) 配合使用。

offset 属性包含两个值,用来代表窗口在通过其它布局属性完成后的偏移量:如 offset=”-1,-1”,该 offset 表明窗口向左方及上方各平衡一个窗口大小的单位。
和pos中一般使用象素为单位不同,offset是以控件最后的大小为单位进行平移。

需要提供原件:

结婚证,户口本,有效期内的<居住证>,<上海市居住证积分申请表>,一年内的社保清单

房产+2倍社保,交满一年可以排队,然后一直交2倍社保直到落户(这里可能有坑)。

积分账号密码重置

1、个人密码重置可由本人至就近的任意区人才服务中心居住证受理点申请。
2、基本材料:
(1)个人身份证原件及复印件;
(2)《密码重置办理申请》;
(3)人事专员代办的需提供代办人身份证原件及复印件。

黄浦区人才服务中心:淮海东路6号 电话:63295445
工作时间:周一至周五(9:00—11:30,13:30-16:30,夏令时14:00-16:30);除法定节假日外
描述信息:周六:仅受理集体户口相关业务 上午9:00-11:30

徐汇区人才服务中心
地址:南宁路969号徐汇区行政服务中心一楼A区
邮编:200235
电话:24092222
工作时间:1、受理时间:周一至周五:上午9:00-11:30,下午1:30-16:30 2、取号时间:周一至周五:9:00-16:30

上海市普陀区人才服务中心
地址:上海市普陀区真北路2100号
电话:(021)52564588

全国职称外语等级考试上海每年只考1次,2015年12月报名,次年3月份考试。现在只能等到2016年12月报名,2017年3月份考试了。考试难度大约相当于高中的水平,可以携带一本英语词典进考场,不能携带有职称英语字样的词典。

     中级职称:考试取得中级资格(水平)证书+相关专业本科毕业后从事相关技术工作5年或相关专业专科毕业后7年+职称英语B级合格证书,满足以上要求,单位就可以聘任工程师职务。

     高级职称:考试取得高级资格(水平)证书+相关专业本科毕业后从事相关技术工作5年+职称英语A级合格证书,满足以上要求,单位就可以聘任高级工程师职务。

    职称=职称资格+职称职务,通过软考获得资格,通过单位聘任工程师获得职务,这样职称所需条件就齐备了,你就获得了相应等级的职称。

    虽然通过软考可以免考职称计算机,但是人才中心要求有这个证,那就必须去考一个出来。至于考试的顺序,有的人会选择先难后易,如:软考、职称英语、职称计算机。我觉得每个人的情况的不一样,有时间就去考,先把职称英语和职称计算机考出来也无妨。

获得以上3个证书后,单位要聘任你为工程师职务(或高级工程师),由单位从21世纪人才网下载并填写<专业技术职务聘任表>(居转户的职称聘任书,需要备案,送到人才中心个人档案存档)并按要求归档作为聘任依据。

注意:

[1]计算机技术与软件专业技术资格(水平)考试)俗称软考,在上海居住证积分打分模拟器上显示的名称为“计算机软件资格(水平)考试(中级、高级)”,这也是简称,二者是一个考试,因为有人说审批的人因为二者名称不完全一样,而不认软考证书的情况。

[2]通过软考评中级职称办居住证积分,单位的注册经营范围里要有与计算机相关的条目。比如“计算机软硬件开发”、“软件设计”、“网络工程”、“信息技术研发”等。可通过<全国企业信用信息公示系统>网站查询你公司的经营范围。

如何让img控件响应点击事件?

在img控件的XML定义中加上属性: msgTransparent=”0”

工厂模式的两个最重要的功能:

  1. 定义创建对象的接口,封装了对象的创建;
  2. 使得具体化类的工作延迟到了子类中。

MFC使用时发现会有函数找不到

是因为POCO库用到的一个头文件unwindows.h把这些函数都#undef了。
#define POCO_NO_UNWINDOWS

比如 OutputDebugString,GetModuleFileName 这样的
使用 GetModuleFileNameA 具体版本就可以了

CreateEvent not found

#define POCO_NO_UNWINDOWS

推荐阅读

整体来说这本书挺好,给了我一些启示。正在看第二遍。

20190615_075142.png

成功交易者的特点:

  1. 自律
  2. 有能力自己负责任
  3. 对成功有积极的态度
  4. 非常了解风险
  5. 有能力保持开放的思想

初始化

BOOL CLG3200DemoApp::InitInstance()
{
AfxInitRichEdit2();
// call to initialize richedit2 library.
....
}

设置字体

CFont m_font;
CRichEditCtrl* m_pEdit;
VERIFY(m_font.CreateFont(
-12, // nHeight
0, // nWidth
0, // nEscapement
0, // nOrientation
FW_NORMAL, // nWeight
FALSE, // bItalic
FALSE, // bUnderline
0, // cStrikeOut
ANSI_CHARSET, // nCharSet GB2312_CHARSET
OUT_DEFAULT_PRECIS, // nOutPrecision
CLIP_DEFAULT_PRECIS, // nClipPrecision
DEFAULT_QUALITY, // nQuality
DEFAULT_PITCH, // nPitchAndFamily
TEXT("Consolas"))); // lpszFacenameTEXT("MS Shell Dlg 2")Courier New

m_pEdit = (CRichEditCtrl*)GetDlgItem(IDC_RICHEDIT21);
m_pEdit->SetFont(&m_font);

SendDlgItemMessage(IDC_RICHEDIT21, WM_SETFONT, (WPARAM)font.m_hObject, FALSE);

响应 ENM_CHANGE

CRichEditCtrl *pRichEdit = (CRichEditCtrl*)GetDlgItem(IDC_RICH_APDU);
pRichEdit->SetEventMask(EN_MSGFILTER | ENM_CHANGE);

替换显示文字

void CIOCPClientDlg::showTextOnce(int id, const TCHAR* str, DWORD color)
{
CHARFORMAT cfm;
cfm.cbSize = sizeof(CHARFORMAT);
SendDlgItemMessage(id, EM_GETCHARFORMAT, SCF_SELECTION, (LPARAM)&cfm);
cfm.dwEffects = ~CFE_AUTOCOLOR;
cfm.dwMask = CFM_COLOR;
cfm.crTextColor = color;
cfm.dwEffects |= CFE_BOLD; //粗体,取消用cf.dwEffects&=~CFE_BOLD;

int nLength = SendDlgItemMessage(id, WM_GETTEXTLENGTH);
SendDlgItemMessage(id, EM_SETSEL, 0, nLength);
SendDlgItemMessage(id, EM_SETCHARFORMAT, SCF_SELECTION, (LPARAM)&cfm);

SendDlgItemMessage(id, EM_REPLACESEL, 0, (LPARAM)str);
SendDlgItemMessage(id, EM_SETSEL, -1, -1);
}

#define COLOR_RED RGB(0xff,0,0)
#define COLOR_GREEN RGB(0,0xB0,0)

void CdemoDlg::showText(int id, const TCHAR* str, DWORD color)
{
CTime t = CTime::GetCurrentTime();
CString strOut = t.Format(_T("%Y-%m-%d %H:%M:%S "));
strOut += str;

CHARFORMAT cfm;
cfm.cbSize = sizeof(CHARFORMAT);
SendDlgItemMessage(id, EM_GETCHARFORMAT, SCF_SELECTION, (LPARAM)&cfm);
cfm.dwEffects = ~CFE_AUTOCOLOR;
cfm.dwMask = CFM_COLOR;
cfm.crTextColor = color;

int nLength = SendDlgItemMessage(id, WM_GETTEXTLENGTH);
SendDlgItemMessage(id, EM_SETSEL, nLength, nLength);

SendDlgItemMessage(id, EM_SETCHARFORMAT, SCF_SELECTION, (LPARAM)&cfm);

CHARRANGE chRang;
chRang.cpMax = -1;
chRang.cpMin = -1;
SendDlgItemMessage(id, EM_SETCHARFORMAT, 0, (LPARAM)&chRang);
SendDlgItemMessage(id, EM_REPLACESEL, 0, (LPARAM)strOut.GetBuffer());
SendDlgItemMessage(id, WM_VSCROLL, SB_BOTTOM, 0);
}

初始化

BOOL CLG3200DemoApp::InitInstance()
{
AfxInitRichEdit2();
// call to initialize richedit2 library.
....
}

设置字体

CFont m_font;
CRichEditCtrl* m_pEdit;
VERIFY(m_font.CreateFont(
-12, // nHeight
0, // nWidth
0, // nEscapement
0, // nOrientation
FW_NORMAL, // nWeight
FALSE, // bItalic
FALSE, // bUnderline
0, // cStrikeOut
ANSI_CHARSET, // nCharSet GB2312_CHARSET
OUT_DEFAULT_PRECIS, // nOutPrecision
CLIP_DEFAULT_PRECIS, // nClipPrecision
DEFAULT_QUALITY, // nQuality
DEFAULT_PITCH, // nPitchAndFamily
TEXT("Consolas"))); // lpszFacenameTEXT("MS Shell Dlg 2")Courier New

m_pEdit = (CRichEditCtrl*)GetDlgItem(IDC_RICHEDIT21);
m_pEdit->SetFont(&m_font);

SendDlgItemMessage(IDC_RICHEDIT21, WM_SETFONT, (WPARAM)font.m_hObject, FALSE);

响应 ENM_CHANGE

CRichEditCtrl *pRichEdit = (CRichEditCtrl*)GetDlgItem(IDC_RICH_APDU);
pRichEdit->SetEventMask(EN_MSGFILTER | ENM_CHANGE);

替换显示文字

void CIOCPClientDlg::showTextOnce(int id, const TCHAR* str, DWORD color)
{
CHARFORMAT cfm;
cfm.cbSize = sizeof(CHARFORMAT);
SendDlgItemMessage(id, EM_GETCHARFORMAT, SCF_SELECTION, (LPARAM)&cfm);
cfm.dwEffects = ~CFE_AUTOCOLOR;
cfm.dwMask = CFM_COLOR;
cfm.crTextColor = color;
cfm.dwEffects |= CFE_BOLD; //粗体,取消用cf.dwEffects&=~CFE_BOLD;

int nLength = SendDlgItemMessage(id, WM_GETTEXTLENGTH);
SendDlgItemMessage(id, EM_SETSEL, 0, nLength);
SendDlgItemMessage(id, EM_SETCHARFORMAT, SCF_SELECTION, (LPARAM)&cfm);

SendDlgItemMessage(id, EM_REPLACESEL, 0, (LPARAM)str);
SendDlgItemMessage(id, EM_SETSEL, -1, -1);
}

#define COLOR_RED RGB(0xff,0,0)
#define COLOR_GREEN RGB(0,0xB0,0)

void CdemoDlg::showText(int id, const TCHAR* str, DWORD color)
{
CTime t = CTime::GetCurrentTime();
CString strOut = t.Format(_T("%Y-%m-%d %H:%M:%S "));
strOut += str;

CHARFORMAT cfm;
cfm.cbSize = sizeof(CHARFORMAT);
SendDlgItemMessage(id, EM_GETCHARFORMAT, SCF_SELECTION, (LPARAM)&cfm);
cfm.dwEffects = ~CFE_AUTOCOLOR;
cfm.dwMask = CFM_COLOR;
cfm.crTextColor = color;

int nLength = SendDlgItemMessage(id, WM_GETTEXTLENGTH);
SendDlgItemMessage(id, EM_SETSEL, nLength, nLength);

SendDlgItemMessage(id, EM_SETCHARFORMAT, SCF_SELECTION, (LPARAM)&cfm);

CHARRANGE chRang;
chRang.cpMax = -1;
chRang.cpMin = -1;
SendDlgItemMessage(id, EM_SETCHARFORMAT, 0, (LPARAM)&chRang);
SendDlgItemMessage(id, EM_REPLACESEL, 0, (LPARAM)strOut.GetBuffer());
SendDlgItemMessage(id, WM_VSCROLL, SB_BOTTOM, 0);
}

学习基本模式:
环境->刺激->生物体->反应->结果

结果的好坏会强化反应行为的强度。好的结果会强化采取同样的反应。反之坏的结果,会弱化反应。
可带来正面结果的行为会一再重复。这里要特别注意,随机强化的行为较难剔除。
当检验反应的时候要保持单一输入,否则随机强化的行为会扰乱反应的一致性。

优柔寡断,迟疑不决,是最大的敌人。交易本身就是概率,要不断地去验证反应,用结果来强化。做有效的学习,去掉干扰因素。

20190609_074526.png