MFC创建sciter项目-----笔记

环境:VS2019;

创建一个MFC基于对话框;

类是Dlg;

两个类不需要。只要MFC的界面框架:

MFC创建sciter项目-----笔记_第1张图片

MFC创建sciter项目-----笔记_第2张图片

项目右键属性----》配置属性-----------》常规-----------------》输出目录改成bin目录(后期需要丢库。自己知道的也可以不改)

MFC创建sciter项目-----笔记_第3张图片

看图吧:懒得打:把sciter头文件加载进附加库目录;

MFC创建sciter项目-----笔记_第4张图片

修改DPI

MFC创建sciter项目-----笔记_第5张图片

把sciter里面的sciter-win-main.cpp丢到工程目录下并加载进项目VS里面

MFC创建sciter项目-----笔记_第6张图片

MFC创建sciter项目-----笔记_第7张图片

这里需要注意预编译头。要改报错的stdafx.h,就改成pch.h

现在生成一个.bat文件。里面内容是sciter-sdk\bin目录下的东西:C:\Users\Bin\Desktop\sciter-sdk-master\bin\packfolder.exe res resources.cpp -v "resources" 路径按照自己电脑的路径     

注意:当前路径也要有res这个文件夹存在里面要有htm文件才能生成一个.cpp文件;

MFC创建sciter项目-----笔记_第8张图片

MFC创建sciter项目-----笔记_第9张图片

 

 

main.htm里面的内容是:


    
        Test
        
        
   
      
   
         

Hello World!

然后双击运行bat文件出现一个resources.cpp就可以了

然后添加到项目里面

MFC创建sciter项目-----笔记_第10张图片

这个需要修改

MFC创建sciter项目-----笔记_第11张图片

 

下面这个图是单独文件右键属性要改不使用预编译头:MFC创建sciter项目-----笔记_第12张图片

然后修改主文件的.cpp一开始项目删掉dlg文件剩的一个文件:

MFC创建sciter项目-----笔记_第13张图片

里面添加上下面的代码:

#include "pch.h"
#include "framework.h"
#include "Mysciter-2.h"
#include "sciter-x-window.hpp"
#include "resources.cpp"

class frame : public sciter::window
{
public:
	frame() : window(SW_TITLEBAR | SW_RESIZEABLE | SW_CONTROLS | SW_MAIN | SW_ENABLE_DEBUG) {}
	/*下面代码是我添加的,getSomeData是添加的脚本回调函数(JS  C++),在脚本回调函数里面,有一句call_function("sendToJs", ret);这个是C++调用脚本(C++  JS)
	*/
	BEGIN_FUNCTION_MAP
		FUNCTION_2("getSomeData", getSomeData);
	END_FUNCTION_MAP
	sciter::value  getSomeData(sciter::value param1, sciter::value param2)
	{
		sciter::string str = param1.get();
		int i = param2.get();
		sciter::value ret = "aaa";
		call_function("sendToJs", ret);
		return ret;
	}
	/*代码添加结束*/
};


int uimain(std::function run) {
	//sciter::debug_output_console console; - uncomment it if you will need console window
	sciter::archive::instance().open(aux::elements_of(resources)); // bind resources[] (defined in "resources.cpp") with the archive
	frame* pwin = new frame();
	// note: this:://app URL is dedicated to the sciter::archive content associated with the application
	pwin->load(WSTR("this://app/main.htm"));
	pwin->expand();
	return run();
}

 

还有需要到sciter-sdk\bin目录里面拿dll放到输出目录下:没放可能就会出现一个无法解析的错误:目录下有32-64的我电脑是64位系统的就拿64的。有时编译不过环境配好的可能是VS的问题需要重启VS。

出现一个错误_api 要替换dll;这个坑好难找。VS编译的是多少的就用多少的。X86的用32位的dll; (一直没注意X86是32位的。。坑死自己了。) 重点基础。

MFC创建sciter项目-----笔记_第14张图片

MFC创建sciter项目-----笔记_第15张图片

 

你可能感兴趣的:(MFC,第一次工作)