zoukankan      html  css  js  c++  java
  • RM报表的选项 注册表位置

    HKCUSoftwareWHF SoftWareReport MachineRMReportFormRMDesignerForm

    设计器-工具-选项的设置

     

    HKCUSoftwareWHF SoftWare0Report MachineFormTRMEditorForm

    文本编辑器窗口的,有个WordWrap自动换行的设置。

    那个设置窗口,点击确定后,不会立即写注册表。设计创建关闭时,才会写注册表。

    unit RM_Designer;
    
    const
      rsGridShow = 'GridShow';
      rsGridAlign = 'GridAlign';
      rsGridSize = 'GridSize';
      rsUnits = 'Units';
      rsEdit = 'EditAfterInsert';
      rsBandTitles = 'BandTitles';
      rsAutoOpenLastFile = 'AutoOpenLastFile';
      rsWorkSpaceColor = 'WorkSpaceColor';
      rsInspFormColor = 'InspFormColor';
      rsLocalizedPropertyName = 'LocalizedPropertyName';
      rsShowDropDownField = 'ShowDropDownField';
      rsLanguage = 'Language';
    procedure TRMDesignerForm.SaveIni;
    var
      Ini: TRegIniFile;
      Nm: string;
      i: Integer;
    begin
      Ini := TRegIniFile.Create(RMRegRootKey + 'RMReport');
      try
        Nm := rsForm + Name;
        Ini.WriteString(Nm, rsLanguage, RM_CurLanguage);
        Ini.WriteBool(Nm, rsLocalizedPropertyName, RMLocalizedPropertyNames); //这样写的Boolean值,注册表里 数据类型 字符串,有点蛋疼。
        Ini.WriteBool(Nm, rsAutoOpenLastFile, AutoOpenLastFile);
        Ini.WriteBool(Nm, rsGridShow, ShowGrid);
        Ini.WriteBool(Nm, rsGridAlign, GridAlign);
        Ini.WriteInteger(Nm, rsGridSize, GridSize);
        Ini.WriteInteger(Nm, rsUnits, Word(RMUnits));
        Ini.WriteBool(Nm, rsEdit, FEditAfterInsert);
        Ini.WriteBool(Nm, rsBandTitles, RM_Class.RMShowBandTitles);
        Ini.WriteBool(Nm, rsShowDropDownField, RM_Class.RMShowDropDownField);
        Ini.WriteInteger(rsForm + FInspForm.ClassName, 'SplitPos', FInspForm.SplitterPos);
        Ini.WriteInteger(rsForm + FInspForm.ClassName, 'SplitPos1', FInspForm.SplitterPos1);
        Ini.WriteBool(Nm, rsUseTableName, UseTableName);
        Ini.WriteInteger(Nm, rsWorkSpaceColor, WorkSpaceColor);
        Ini.WriteInteger(Nm, rsInspFormColor, InspFormColor);
        if not IsPreviewDesign then
        begin
          Ini.WriteInteger(rsForm + FFieldForm.ClassName, 'SplitPos', FFieldForm.SplitterPos);
          Ini.EraseSection(rsOpenFiles);
          for i := 1 to FOpenFiles.Count do
            Ini.WriteString(rsOpenFiles, 'File' + IntToStr(i), FOpenFiles[i - 1]);
        end;
      finally
        Ini.Free;
      end;
    
      RMSaveToolbars('RMReport', [ToolbarStandard]);
      RMSaveToolWinPosition('RMReport', FInspForm);
      RMSaveFormPosition('RMReport', Self);
      if not IsPreviewDesign then
      begin
        RMSaveToolWinPosition('RMReport', FFieldForm);
      end;
    end;
    procedure TRMDesignerForm.FormDestroy(Sender: TObject);
    begin
      FBusy := True;
      FInspBusy := True;
      FCurPageEditor.Editor_BeforeFormDestroy;
      ClearUndoBuffer;
      ClearRedoBuffer;
      if FInspForm <> nil then
      begin
        FInspForm.RestorePos;
        SaveIni;//这里
      end;
    
      FreeAndNil(FEditorForm);
      FreeAndNil(FFindReplaceForm);
      FreeAndNil(FInspForm);
      FreeAndNil(FFieldForm);
      FreeAndNil(FOpenFiles);
      FreeAndNil(FCurPageEditor);
    end;
    procedure TRegIniFile.WriteBool(const Section, Ident: string; Value: Boolean);
    const
      Values: array[Boolean] of string = ('0', '1');
    var
      Key, OldKey: HKEY;
    begin
      CreateKey(Section);
      Key := GetKey(Section);
      if Key <> 0 then
      try
        OldKey := CurrentKey;
        SetCurrentKey(Key);
        try
          inherited WriteString(Ident, Values[Value]);//这里是字符串
        finally
          SetCurrentKey(OldKey);
        end;
      finally
        RegCloseKey(Key);
      end;
    end;
  • 相关阅读:
    Director.js路由
    高程第二天
    插件
    Github学习
    高程第一天
    盒子居中显示
    锋利的jq第四天
    锋利的jq第三天
    锋利的jq第二天
    锋利的jq第一天
  • 原文地址:https://www.cnblogs.com/CodeGear/p/4918876.html
Copyright © 2011-2022 走看看