433MHZ RF Button and led.

I have this modules i want do when i pushed button from transmitter, led on from receiver but i have some problem here.
İ want pushed button led on, not pushed led off.
Tranmitter

#include <VirtualWire.h>
char *controller;
void setup() {
  pinMode(2,INPUT);
  pinMode(3,INPUT);
  pinMode(4,INPUT);
  pinMode(5,INPUT);
vw_set_ptt_inverted(true); //
vw_set_tx_pin(12);
vw_setup(4000);// speed of data transfer Kbps
}

void loop(){
if(digitalRead(2)== 0){
controller="2"  ;
vw_send((uint8_t *)controller, strlen(controller));
vw_wait_tx(); // Wait until the whole message is gone
}

if(digitalRead(3)== 0){
controller="3"  ;
vw_send((uint8_t *)controller, strlen(controller));
vw_wait_tx(); // Wait until the whole message is gone
}

if(digitalRead(4)== 0){
controller="4"  ;
vw_send((uint8_t *)controller, strlen(controller));
vw_wait_tx(); // Wait until the whole message is gone
}

if(digitalRead(5)== 0){
controller="5"  ;
vw_send((uint8_t *)controller, strlen(controller));
vw_wait_tx(); // Wait until the whole message is gone
}
}

receiver

#include <VirtualWire.h>
uint8_t dely=0;
void setup()
{
    vw_set_ptt_inverted(true); // Required for DR3100
    vw_set_rx_pin(12);
    vw_setup(4000);  // Bits per sec
    pinMode(2, OUTPUT);
    pinMode(3, OUTPUT);
    pinMode(4, OUTPUT);
    pinMode(5, OUTPUT);

    vw_rx_start();       // Start the receiver PLL running
}
    void loop()
{
    uint8_t buf[VW_MAX_MESSAGE_LEN];
    uint8_t buflen = VW_MAX_MESSAGE_LEN;

    if (vw_get_message(buf, &buflen)) // Non-blocking
    {
      if(buf[0]=='2'){  // button 2 ise
                         
    digitalWrite(2,1);    // LED2 HIGH
    delay(dely);
      }                  
else
      {
        digitalWrite(2,0);
      }
                      
      if(buf[0]=='3'){ // button 3 ise

   digitalWrite(3,1); // led 3 HIGH
   delay(dely);
      }
else
      {
        digitalWrite(3,0);
      }
        
      if(buf[0]=='4'){ // button 4 ise

   digitalWrite(4,1); // LED 4 HIGH
   delay(dely);
      }
      else
      {
        digitalWrite(4,0);
      }
      
      if(buf[0]=='5'){  // BUTTON 5 ise
    
   digitalWrite(5,1); // LED 5 HIGH
   delay(dely);
      }
       else
      {
        digitalWrite(5,0);
      }
        }
          }

One of your problems: change vw_setup(4000); to vw_setup(2000);

Without knowing how your switches are wired, it is hard to know whether your transmitter sketch is right or not. Right now, if the pin goes LOW, then a message is transmitted.

You are sending a value when the switch is pressed. On the receiver end, turn the LED on when the value is received, not off.

If digitalWrite(pin, 1) doesn't cause the LED connected to the pin to come on, but digitalWrite(pin, 0) does, then use the call that causes the action that you want.

This is my schematic ;

Besides the change I wrote above, you need to put resistors for each LED.