• Как получить содержимое iframe?

    LoneRay
    @LoneRay Автор вопроса
    Начинающий кодировщик.
    <html>
    <body>
        <iframe src='index.html' id='frame'></iframe>
    
        <script type='text/javascript'>
            document.getElementById("frame").onload = function () {
                var FRAM = document.getElementById("frame");
                var DOC = FRAM.contentDocument;
                alert(FRAM.contentDocument.body);
            }
        </script>
    </body>
    </html>
    Ответ написан
  • Как запустив единожды class1 использовать созданные значения в других классах не используя конструктор?

    LoneRay
    @LoneRay Автор вопроса
    Начинающий кодировщик.
    Решил таким способом как и говорил Евгений. Спасибо за помощь всем.
    в class1
    if(open == null)
    		{
    			open= new Window();
    			open.show();
    			setter.set(open);
    		}
    ------------------Отдельный класс
    public class setter {
    	private static Window win;
    	public static void set(Window winnew){
    		win = winnew;
    	}
    	public static Window get(){
    		return win;
    	}
    }
    ---------------------------
    в class2 
    setter.get().jLabel2.setText("Text");
    Ответ написан
  • Как имитировать нажатие клавиши клавиатуры?

    LoneRay
    @LoneRay Автор вопроса
    Начинающий кодировщик.
    // класс, который эмулирует нажатие клавиш в любое активное окно
        class DirectKeyPress
        {
            [DllImport("User32.dll")] // подключение системной библиотеки
            public static extern uint SendInput(uint numberOfInputs, [MarshalAs(UnmanagedType.LPArray, SizeConst = 1)] INPUT[] input, int structSize); // функция, которая отправляет запрос на идентификацию и активацию действии клавиши
            [DllImport("user32.dll")] // подключение системной библиотеки
            public static extern IntPtr FindWindow(string lpClassName, string lpWindowName); // функция для определении окна
            [DllImport("User32.dll")] // подключение системной библиотеки
            public static extern int SetForegroundWindow(IntPtr hWnd); // функция установки фокуса для окна
            [DllImport("User32.dll")] // подключение системной библиотеки
            public static extern int ShowWindow(IntPtr hWnd, int cmdShow); // функция активации окна
    
            [StructLayout(LayoutKind.Sequential)] //Для ручного расположения полей в памяти в порядке объявления
            public struct MOUSEINPUT // структура для эмуляции мыши
            {
                int dx;
                int dy;
                uint mouseData;
                uint dwFlags;
                uint time;
                IntPtr dwExtraInfo;
            };
    
            [StructLayout(LayoutKind.Sequential)] //Для ручного расположения полей в памяти в порядке объявления
            public struct KEYBDINPUT // структура для эмуляции клавиатуры
            {
                public ushort wVk;
                public ushort wScan;
                public uint dwFlags;
                public uint time;
                public IntPtr dwExtraInfo;
            };
    
            [StructLayout(LayoutKind.Sequential)] //Для ручного расположения полей в памяти в порядке объявления
            public struct HARDWAREINPUT // структура для эмуляции подключённого внешнего устройства
            {
                uint uMsg;
                ushort wParamL;
                ushort wParamH;
            };
    
            [StructLayout(LayoutKind.Explicit)] //Для указания размера каждого поля
            public struct INPUT // структура для выбора типа устройства
            {
                [FieldOffset(0)] // задаем 0 байт для переменной type
                public int type;
                [FieldOffset(4)] // задаем 4 байта для структуры MOUSEINPUT
                public MOUSEINPUT mouse;
                [FieldOffset(4)] // задаем 4 байта для структуры KEYBDINPUT
                public KEYBDINPUT keyboard;
                [FieldOffset(4)] // задаем 4 байта для структуры HARDWAREINPUT
                public HARDWAREINPUT hardware;
            };
            const uint KEYEVENTF_KEYUP = 0x0002; // событие Up
            const uint KEYEVENTF_SCANCODE = 0x0008; // событие Down + установка типа выбора определения клавиши
    
            public void Main()
            {
                INPUT[] inputs = new INPUT[1];
    
                inputs[0].type = 1; // выбрана клавиатура
                inputs[0].keyboard.dwFlags = KEYEVENTF_SCANCODE; // Down
                inputs[0].keyboard.wScan = 42; // скэн код клавиши
                SendInput(1, inputs, Marshal.SizeOf(inputs[0])); // эмулируем нажатие
    
                inputs[0].type = 1;
                inputs[0].keyboard.dwFlags = KEYEVENTF_SCANCODE;
                inputs[0].keyboard.wScan = 30;
                SendInput(1, inputs, Marshal.SizeOf(inputs[0]));
    
                inputs[0].type = 1;
                inputs[0].keyboard.wScan = 30;
                inputs[0].keyboard.dwFlags = KEYEVENTF_SCANCODE | KEYEVENTF_KEYUP; // Up 
                SendInput(1, inputs, Marshal.SizeOf(inputs[0]));
    
    
                inputs[0].type = 1;
                inputs[0].keyboard.dwFlags = KEYEVENTF_SCANCODE | KEYEVENTF_KEYUP;
                inputs[0].keyboard.wScan = 42;
                SendInput(1, inputs, Marshal.SizeOf(inputs[0]));
            }
        }
    Ответ написан
    1 комментарий
  • Как в Image программно указать картинку?

    LoneRay
    @LoneRay Автор вопроса
    Начинающий кодировщик.
    Нашёл я проблему с первым методом.
    Надо было делать отдельный класс.

    #region Класс загрузки изображения в меню
    public class Images
    {
          public string IMGFast { get; set; }
          public string IMGFull { get; set; }
          public string BackColorFast { get; set; }
          public string BackColorFull { get; set; }
    }
    #endregion

    В кнопке например
    DataContext = new Images[]
    {
       new Images
       {
           IMGFast ="ok.png",
           BackColorFast = "#25FFFFFF",
           IMGFull ="",
           BackColorFull = ""
       }
    };
    Ответ написан
    Комментировать
  • Как установить текст по центру в ContentPresenter?

    LoneRay
    @LoneRay Автор вопроса
    Начинающий кодировщик.
    В menuitem вместо стандартного "Header" использую свой Header.
    <MenuItem.Header>
            <TextBlock Text="Свойства" Width="159" Height="22" Padding="35,2,0,0"/>
    </MenuItem.Header>
    Ответ написан
  • Как изменить фон у button при наведении указателя мыши на него?

    LoneRay
    @LoneRay Автор вопроса
    Начинающий кодировщик.
    Решил проблему таким образом.
    <Window x:Class="WpfApplication1.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
            xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
            xmlns:local="clr-namespace:WpfApplication1"
            mc:Ignorable="d"
            Title="MainWindow" Height="350" Width="525">
        <Window.Resources>
            <Style x:Key="DelAll">
                <Setter Property="Button.Template">
                    <Setter.Value>
                        <ControlTemplate>
                            <Grid>
                                <Border Name="Head">
                                    <Rectangle HorizontalAlignment="Stretch"  VerticalAlignment="Stretch"  Fill="Transparent" />
                                </Border>
                                <Label Name="NameLable" Content="Удалить всё" FontStyle="Italic" HorizontalAlignment="Center" VerticalAlignment="Center" Foreground="Red"></Label>
                            </Grid>
                            <ControlTemplate.Triggers>
                                <Trigger Property="IsMouseOver" Value="true">
                                    <Setter TargetName="Head" Property="Background" Value="#3500ACFF"/>
                                    <Setter TargetName="Head" Property="BorderBrush" Value="#FF00ACFF"/>
                                    <Setter TargetName="Head" Property="BorderThickness" Value="1,1,1,1"/>
                                    <Setter TargetName="NameLable" Property="Foreground" Value="Blue"/>
                                </Trigger>
                                <Trigger Property="IsMouseDirectlyOver" Value="true">
                                    <Setter TargetName="NameLable" Property="Foreground" Value="White"/>
                                </Trigger>
                            </ControlTemplate.Triggers>
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </Style>
            <Style x:Key="Del">
                <Setter Property="Button.Template">
                    <Setter.Value>
                        <ControlTemplate>
                            <Grid>
                                <Border Name="Head">
                                    <Rectangle HorizontalAlignment="Stretch"  VerticalAlignment="Stretch"  Fill="Transparent" />
                                </Border>
                                <Label Name="NameLable" Content="Удалить" FontStyle="Italic" HorizontalAlignment="Center" VerticalAlignment="Center" Foreground="Yellow"></Label>
                            </Grid>
                            <ControlTemplate.Triggers>
                                <Trigger Property="IsMouseOver" Value="true">
                                    <Setter TargetName="Head" Property="Background" Value="#3500ACFF"/>
                                    <Setter TargetName="Head" Property="BorderBrush" Value="#FF00ACFF"/>
                                    <Setter TargetName="Head" Property="BorderThickness" Value="1,1,1,1"/>
                                    <Setter TargetName="NameLable" Property="Foreground" Value="Green"/>
                                </Trigger>
                                <Trigger Property="IsMouseDirectlyOver" Value="true">
                                    <Setter TargetName="NameLable" Property="Foreground" Value="White"/>
                                </Trigger>
                            </ControlTemplate.Triggers>
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </Style>
        </Window.Resources>
        <Window.Background>
            <ImageBrush/>
        </Window.Background>
        <Grid>
            <Button Style="{StaticResource DelAll}" HorizontalAlignment="Left"  Width="150" Height="50" Margin="95,49,0,0" VerticalAlignment="Top"/>
            <Button Style="{StaticResource Del}" HorizontalAlignment="Left"  Width="150" Height="50" Margin="95,200,0,0" VerticalAlignment="Top"/>
        </Grid>    
    </Window>
    Ответ написан
    Комментировать
  • Как изменить Foreground MenuItem при наведении мыши?

    LoneRay
    @LoneRay Автор вопроса
    Начинающий кодировщик.
    Решил вопрос таким ещё путём.
    <Window.Resources>
            <Style x:Key="MenuItem"> <!--Стиль меню-->    
                <Setter Property="MenuItem.Foreground" Value="Lime"></Setter>
                <Style.Triggers>
                    <Trigger Property="MenuItem.IsMouseOver" Value="true">
                        <Setter Property="MenuItem.Foreground" Value="White"/>
                    </Trigger>
                </Style.Triggers>
            </Style>
                  <ControlTemplate x:Key="{x:Static MenuItem.TopLevelHeaderTemplateKey}" TargetType="{x:Type MenuItem}"> <!--Стиль подменю-->
                <Grid>
                    <Border Height="25" Width="80" Name="Head">
                        <ContentPresenter ContentSource="Header" RecognizesAccessKey="True" HorizontalAlignment="Center" VerticalAlignment="Center"/>
                    </Border>
                    <Popup IsOpen="{TemplateBinding IsSubmenuOpen}" AllowsTransparency="True" PopupAnimation="Fade">
                        <StackPanel  IsItemsHost="True" Background="#01FFFFFF" Focusable="True"/>
                    </Popup>
                </Grid>
                <ControlTemplate.Triggers>
                    <Trigger Property="IsHighlighted" Value="true">
                        <Setter TargetName="Head" Property="Background" Value="#3500ACFF"/>
                        <Setter TargetName="Head" Property="BorderBrush" Value="#FF00ACFF"/>
                        <Setter TargetName="Head" Property="BorderThickness" Value="1,1,1,1"/>
                    </Trigger>
                </ControlTemplate.Triggers>
            </ControlTemplate>
        </Window.Resources>
    
        <Grid>
            <Menu VerticalAlignment="Top" Background="Transparent">   <!--Меню-->    
                <MenuItem Style="{StaticResource MenuItem}" Header="Настройки">
                    <MenuItem Style="{StaticResource MenuItem}" Header="Свойства"/>
                    <MenuItem Style="{StaticResource MenuItem}" Header="О программе"/>
                    <MenuItem Style="{StaticResource MenuItem}" Header="Выход"/>
                </MenuItem>
            </Menu>
        </Grid>
    Ответ написан
    Комментировать