Monday, May 28, 2012

[Sample of May 6th] Customize Outlook UI with Ribbon XML

[Sample of May 6th] Customize Outlook UI with Ribbon XML:

Homepage image
Sample of the Day RSS Feed
Sample Downloads: http://code.msdn.microsoft.com/VBOutlookRibbonXml-bc478854 
Today’s sample demonstrates how to customize Microsoft Outlook UI using the Ribbon XML.
imageYou can find more code samples that demonstrate the most typical programming scenarios by using Microsoft All-In-One Code Framework Sample Browser or Sample Browser Visual Studio extension. They give you the flexibility to search samples, download samples on demand, manage the downloaded samples in a centralized place, and automatically be notified about sample updates. If it is the first time that you hear about Microsoft All-In-One Code Framework, please watch the introduction video on Microsoft Showcase, or read the introduction on our homepage http://1code.codeplex.com/.

Introduction
The VBOutlookRibbonXml provides the examples on how to customize Office UI using the Ribbon XML. This sample also shows a way on how to keep & track the same control's property status (e.g. Checked) in different inspectors.
Building the sample
  1. You must install office 2010 in your Operation System.
  2. This project references the Primary Interop Assembly (PIA )for Microsoft Office Outlook 2010.
  3. Be sure that your Outlook2010 is not running when building sample.

Running the Code

When you run the code, an Outlook was launched. Click ��New E-mail�� in ��Home�� tab. A new e-mail window shows out with “Sample Tab” tab.
image

Using the Code

1. We need to create an XML file containing description of our customized Ribbon contents.
<?xml version="1.0" encoding="UTF-8"?> 
<customUI onLoad="Ribbon_Load" loadImage="LoadImage" xmlns="http://schemas.microsoft.com/office/2006/01/customui"> 
  <ribbon> 
    <tabs> 
      <tab idMso="TabAddIns" label="Sample Tab" keytip="FT"> 
        <group id="grpOne" label="Group One"> 
          <button id="btnWeb" onAction="btnWeb_OnAction" label="Project Home" size="large" image="Globe" /> 
          <separator id="separator1" /> 
          <comboBox id="cboMyList" imageMso="FormControlComboBox" supertip="This is a ComboBox 
 
Drop down and Edit are both enabled." label="ComboBox:"> 
            <item id="__id2" label="Item0" /> 
            <item id="__id3" label="Item1" /> 
            <item id="__id4" label="Item2" /> 
          </comboBox> 
          <toggleButton id="tbSecondTab" imageMso="ControlTabControl" onAction="tbSecondTab_OnAction" getPressed="tbSecondTab_GetPressed" label="Second Tab" /> 
          <checkBox id="chkShowGroup" onAction="chkShowGroup_OnAction" getPressed="chkShowGroup_GetPressed" label="Group Three" /> 
          <dialogBoxLauncher> 
            <button id="grpOneDlgLauncher" onAction="grpOneDlgLauncher_OnAction" /> 
          </dialogBoxLauncher> 
        </group> 
        <group id="grpTwo" label="Group Two"> 
          <splitButton id="splitButton"> 
            <button id="splitButton__btn" imageMso="AlignLeft" label="SplitButton" onAction="splitButton_Click" /> 
            <menu id="splitButton__mnu"> 
              <button id="btnAlignLeft" imageMso="AlignLeft" onAction="btnAlign_Click" label="Left" /> 
              <button id="btnAlignCenter" imageMso="AlignCenter" onAction="btnAlign_Click" label="Center" /> 
              <button id="btnAlignRight" imageMso="AlignRight" onAction="btnAlign_Click" label="Right" /> 
            </menu> 
          </splitButton> 
          <editBox id="txtEdit" imageMso="ActiveXTextBox" onChange="txtEdit_OnChange" label="Edit Box:" /> 
          <labelControl id="lblSample" getLabel="lblSample_GetLabel" /> 
        </group> 
        <group id="grpThree" label="Group Three" getVisible="GetVisible"> 
          <buttonGroup id="buttonGroup1"> 
            <button id="btnOne" label="One" showImage="false" /> 
            <button id="btnTwo" label="Two" showImage="false" /> 
            <button id="button10" label="Three" showImage="false" /> 
          </buttonGroup> 
          <dynamicMenu id="mnuSample" imageMso="HappyFace" label="Menu Sample" getContent="Ribbon_GetContent" /> 
          <separator id="separator3" /> 
          <gallery id="glrCd" label="Disk Gallery" size="large" image="BlankCD"> 
            <item id="glrAudioCD" label="Audio CD" image="AudioCD" /> 
            <item id="glrAudioCDPlus" label="Audio CD Plus" image="AudioCDPlus" /> 
            <item id="glrAudioDVD" label="Audio DVD" image="AudioDVD" /> 
            <item id="glrBDMovie" label="BD Movie Disk" image="BDMovie" /> 
            <item id="glrBlankCD" label="Blank CD" image="BlankCD" /> 
            <item id="glrVCD" label="VCD" image="VCD" /> 
            <button id="btnBurnDisk" label="Burn Disk" image="BurnCD" /> 
          </gallery> 
        </group> 
      </tab> 
      <tab id="mySecondTab" label="Second Sample Tab" getVisible="GetVisible"> 
        <group id="grpMail" label="Mail Item" getVisible="GetVisible"> 
          <labelControl id="lblMailMode" getLabel="lblMainMode_GetLabel" /> 
        </group> 
        <group id="grpAppointmentItem" label="Appointment Item" getVisible="GetVisible"> 
          <labelControl id="label1" label="This is an Appointment Item" /> 
        </group> 
        <group id="grpTaskItem" label="Task Item" getVisible="GetVisible"> 
          <labelControl id="label2" label="This is a Task Item" /> 
        </group> 
        <group id="grpContactItem" label="Contact Item" getVisible="GetVisible"> 
          <labelControl id="label3" label="This is a Contact Item" /> 
        </group> 
      </tab> 
    </tabs> 
  </ribbon> 
</customUI> 


2. Create a class that implements the Microsoft.Office.Core.IRibbonExtensibility class.

<Runtime.InteropServices.ComVisible(True)> _ 
Public Class Ribbon 
    Implements Office.IRibbonExtensibility 


3. In Ribbon.vb, implement the GetCustomUI (memeber of IRibbonExtensibility) method. In this method, we return Ribbon XML according to the RibbonID passed in.

Public Function GetCustomUI(ByVal ribbonID As String) As String Implements Office.IRibbonExtensibility.GetCustomUI 
       ' We will show our customized Ribbon on the following types of 
       ' inspectors 
       If ribbonID = "Microsoft.Word.Document" Or _ 
           ribbonID = "Microsoft.Outlook.Mail.Read" Or _ 
           ribbonID = "Microsoft.Outlook.Mail.Compose" Or _ 
           ribbonID = "Microsoft.Outlook.MeetingRequest.Read" Or _ 
           ribbonID = "Microsoft.Outlook.MeetingRequest.Send" Or _ 
           ribbonID = "Microsoft.Outlook.Appointment" Or _ 
           ribbonID = "Microsoft.Outlook.Contact" Or _ 
           ribbonID = "Microsoft.Outlook.Task" Then 
 
 
           Return GetResourceText("VBOutlookRibbonXml.Ribbon.xml") 
 
 
       Else 
           Return Nothing 
       End If 
   End Function 


4. In Ribbon.vb, implement the callback methods



More Information


�� Customizing the Ribbon in Outlook 2007

[Sample of May 26th] Uninstall disks with VDS

[Sample of May 26th] Uninstall disks with VDS:

Homepage image
image RSS Feed
Sample Download: http://code.msdn.microsoft.com/CppVDSUninstallDisks-7192ea26
This sample demonstrates how to use VDS to uninstall disks and volumes.
 
Warning: uninstalling a disk may lead to potential data loss.  Use this sample with care.
This sample takes the disk number performs a complete uninstall, including the dismount of the volume and uninstall underlying disks.
 
To use this sample you will need to provide the disk number for input. This can be found by right clicking on my computer choosing manage, once the Manage UI is open choose Disk Management and look for the TEST disk that you wish to uninstall.  The number associated with this TEST disk will be the input parameter.  After you run the sample this TEST disk should disappear from Disk Management.  If you are not using VHD's for this test you will need to reboot your system for the disk to be recognized by Disk Management.
For detailed introduction of the sample, please read the documentation at http://code.msdn.microsoft.com/CppVDSUninstallDisks-7192ea26
imageYou can find more code samples that demonstrate the most typical programming scenarios by using Microsoft All-In-One Code Framework Sample Browser or Sample Browser Visual Studio extension. They give you the flexibility to search samples, download samples on demand, manage the downloaded samples in a centralized place, and automatically be notified about sample updates. If it is the first time that you hear about Microsoft All-In-One Code Framework, please watch the introduction video on Microsoft Showcase, or read the introduction on our homepage http://1code.codeplex.com/.

Could not find a part of the path ... bin\roslyn\csc.exe

I am trying to run an ASP.NET MVC (model-view-controller) project retrieved from TFS (Team Foundation Server) source control. I have added a...