Visual Studio 入门学习

本文介绍如何在VSC++2012环境中进行多项目的配置,包括创建解决方案、设置输出目录及中间目录等。同时,详细讲解了如何配置控制台应用程序、动态库及静态库的相关属性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

http://www.cnblogs.com/mlj318/archive/2011/10/09/2203510.html 环境宏定义

http://blog.youkuaiyun.com/akof1314/article/details/7190822 多项目目录结构定义

http://www.cnblogs.com/lidabo/archive/2012/08/27/2658903.html 个人参见里面的环境宏定义



VS C++ 2012  解决方案多项目设置:


(1)首相创建空解决方案:

(2)在解决方案中创建控制台应用程序A

(3)创建动态库B

(4)创建静态DLL C

(5)项目A属性设置:


配置属性  -》   常规  -》 输出目录 -》$(SolutionDir)Temp\Link\$(ProjectName)\$(Configuration)\

配置属性  -》   常规  -》 中间目录 -》$(SolutionDir)Temp\Compile\$(ProjectName)\$(Configuration)\

调试 -》 命令 -》$(SolutionDir)Bin\$(Configuration)\$(TargetFileName)

调试 -》 工作目录 -》 $(SolutionDir)Bin\$(Configuration)


C/C++ -》常规 -》 附加包含目录 -》 $(SolutionDir)Include

这个是附加 .h  头文件的目录


连接器 -》常规 -》 输出文件 -》 $(OutDir)$(TargetName)$(TargetExt)

连接器 -》常规 -》 附加库目录 -》 $(SolutionDir)Lib;%(AdditionalLibraryDirectories)

这个是附加 .lib文件的目录


生成事件 -> 后期生成事件 -》 echo D | xcopy "$(TargetPath)" "$(SolutionDir)Bin\$(ConfigurationName)" /y


(6)项目B属性配置(动态库设置):

常规 -》输出目录 -》 $(SolutionDir)Temp\Link\$(ProjectName)\$(Configuration)\

常规-》 中间目录 -》 $(SolutionDir)Temp\Compile\$(ProjectName)\$(Configuration)\


连接器 -》常规 -》 $(SolutionDir)Temp\Link\$(ProjectName)\$(Configuration)\$(ProjectName).dll


生成事件 -》后期生成事件 -》 

echo "--------------------------------------------------------------------------------------------"
echo D | xcopy "$(TargetPath)" "$(SolutionDir)Bin\$(Configuration)" /y
echo "                   "  复制 "$(TargetPath)" 到 "$(SolutionDir)Bin\$(Configuration)"
echo D | xcopy "$(TargetDir)$(TargetName).lib" "$(SolutionDir)Lib" /y
echo "                   "  复制 "$(TargetDir)$(TargetName).lib" 到 "$(SolutionDir)Lib"
echo D | xcopy "$(ProjectDir)*.h" "$(SolutionDir)Include" /y 
echo "                   "  复制 "$(ProjectDir)*.h" 到 "$(SolutionDir)Include"
echo "--------------------------------------------------------------------------------------------"


(7)静态dll C项目属性设置:

常规 -》输出目录 -》 $(SolutionDir)Temp\Link\$(ProjectName)\$(Configuration)

常规 -》中间目录 -》    $(SolutionDir)Temp\Compile\$(ProjectName)\$(ConfigurationName)


库管理器 -》 常规 -》 $(SolutionDir)Temp\Link\$(ProjectName)\$(ConfigurationName)\$(ProjectName)d.lib

生成事件 -》 后期生成事件-》 

echo ----------------------------------------------------------------------------------
echo D | xcopy "$(TargetPath)" "$(SolutionDir)Lib" /y
echo "                 " 复制 "$(TargetPath)" 到  "$(SolutionDir)Lib" 
echo D | xcopy "$(ProjectDir)*.h" "$(SolutionDir)Include" /y 
echo "                 " 复制 "$(ProjectDir)*.h" 到 "$(SolutionDir)Include"
echo ----------------------------------------------------------------------------------


<think>嗯,用户想在Android Studio中自定义或使用工具栏。我需要根据提供的引用内容来整理回答。首先,引用3提到要去掉默认的标题栏,需要在themes.xml里修改父类为NoActionBar。这样用户界面就不会有默认的ActionBar了。接下来,引用1和引用3都提到了使用Toolbar替代ActionBar。用户需要先在布局文件中添加Toolbar控件,然后在Activity的onCreate方法中获取这个Toolbar,并用setSupportActionBar方法设置。这样自定义的Toolbar就会显示出来。 另外,用户可能需要调整Toolbar的样式,比如颜色、标题文字等,这可以通过styles.xml中的主题设置来实现。例如,设置colorPrimary属性来改变Toolbar的背景颜色。同时,如果用户想添加菜单项,应该在res/menu目录下创建菜单文件,并在Activity中重写onCreateOptionsMenu方法来加载菜单,处理点击事件的话需要重写onOptionsItemSelected方法。 还要注意,引用2虽然讲的是Gradle插件的自定义,但可能和当前问题无关,所以可以忽略。用户的问题集中在Toolbar的配置和使用,所以主要参考引用1和引用3的内容。需要确保步骤清晰,先去掉默认标题栏,再添加自定义Toolbar,设置样式和菜单。如果有其他功能,比如导航按钮,也可以提到使用setNavigationOnClickListener方法。最后,生成相关问题的时候,要围绕Toolbar的自定义、样式修改、菜单添加以及与其他组件的结合使用来提问。</think>### Android Studio 中自定义工具栏的实现步骤 #### 1. **去除默认标题栏** 在`res/values/themes.xml`中,将主题的父类修改为`Theme.MaterialComponents.DayNight.NoActionBar`,以移除默认标题栏: ```xml <style name="Theme.MyApp" parent="Theme.MaterialComponents.DayNight.NoActionBar"> <!-- 其他主题属性 --> </style> ``` 此操作确保系统不再渲染默认的ActionBar[^3]。 #### 2. **添加自定义Toolbar** 在布局文件(如`activity_main.xml`)中定义Toolbar控件: ```xml <androidx.appcompat.widget.Toolbar android:id="@+id/tl_head" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="?attr/colorPrimary" app:title="自定义标题"/> ``` 属性说明: - `android:background`控制工具栏背景色 - `app:title`设置标题文本 #### 3. **绑定Toolbar到Activity** 在Activity的`onCreate()`方法中绑定自定义Toolbar: ```java @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Toolbar tlHead = findViewById(R.id.tl_head); setSupportActionBar(tl_head); // 替换系统ActionBar } ``` 通过`setSupportActionBar()`方法将自定义工具栏设为应用的主操作栏[^1]。 #### 4. **添加菜单功能** 在`res/menu`目录下创建菜单文件(如`main_menu.xml`): ```xml <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <item android:id="@+id/menu_search" android:icon="@drawable/ic_search" android:title="搜索" app:showAsAction="ifRoom"/> </menu> ``` 在Activity中重写菜单方法: ```java @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main_menu, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // 处理菜单项点击事件 return super.onOptionsItemSelected(item); } ``` #### 5. **样式定制(可选)** 在`themes.xml`中定义Toolbar样式: ```xml <style name="ToolbarStyle" parent="Widget.AppCompat.Toolbar"> <item name="titleTextColor">@color/white</item> <item name="android:textSize">18sp</item> </style> ``` 通过`app:theme="@style/ToolbarStyle"`属性应用到Toolbar控件。 #### 6. **添加导航按钮** ```java tlHead.setNavigationIcon(R.drawable.ic_back); // 设置导航图标 tlHead.setNavigationOnClickListener(v -> { // 处理返回逻辑 }); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值